タグ付けされた質問 「matlab」

数値プログラミング言語MATLABに関する質問。

4
Matlab:コード実行をプログラムで安全に停止する方法はありますか(FORTRANの停止など)?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、計算科学スタック交換のトピックになるようにします。 2年前休業。 タイトルが言うように、特定の場所でコードを停止して安全に停止できるようにしたいと考えています。たとえば、FORTRANに停止コマンドがあるように、それを行うコマンドが見つかりません。
10 matlab 

1
MATLABで、linsolveとmldivideの違いは何ですか?
MATLABでは、linsolveとmldivideの両方が、決定、過決定、過小決定のすべてのケースで線形方程式系を解くために使用されます。 彼らの文書を読んで、私はそれらの間にどんな違いがあるのだろうと思っていましたか?3つのケースで、行列分解と三角化のアルゴリズムとほとんど同じですか? Aにoptsのプロパティがある場合、linsolveはmldivideより高速です。これは、linsolveがAが指定されたプロパティを持っていることを確認するテストを実行しないためです。 mldivideは、Aに特別なプロパティがあるかどうかを確認するために同じテストを実行しますか?またはmldivideは、特別なプロパティなしでそれらを一般的なケースとして扱うだけですか? ありがとう!

3
MATLAB行列乗算(最高の計算アプローチ)
2つの参照系(軸)間で座標変換を行う必要があります。そのためには、いくつかの中間軸が使用されているため、3つの行列()を乗算する必要があります。これを解決する2つのアプローチについて考えました。3×33×33\times3 方法#1:乗算を直接行う、つまり、 vf=R1 R2 R3 vivf=R1 R2 R3 viv_f = R_1\ R_2\ R_3\ v_i 方法#2:ステップに分割: v3i=R3 viv3i=R3 viv_{3i} = R_3\ v_i v23=R2 v3iv23=R2 v3iv_{23} = R_2\ v_{3i} vf=R1 v23vf=R1 v23v_f = R_1\ v_{23} どこ: 、 R 2および R 3は 3 × 3行列ですR1R1R_1R2R2R_2R3R3R_33×33×33\times3 、 v i、 v 3 i、 v 23は …

2
高次ゼルニケ多項式の数値安定性
一部の画像の高次(たとえばm=0、n=46)ゼルニケモーメントを計算しようとしています。しかし、放射多項式に関する問題に直面しています(ウィキペディアを参照)。これは区間[0 1]で定義された多項式です。以下のMATLABコードを参照してください function R = radial_polynomial(m,n,RHO) R = 0; for k = 0:((n-m)/2) R = R + (-1).^k.*factorial(n-k) ... ./ ( factorial(k).*factorial((n+m)./2-k) .* factorial((n-m)./2-k) ) ... .*RHO.^(n-2.*k); end end ただし、これは明らかにの近くの数値の問題にぶつかりますRHO > 0.9。 私はそれをpolyvalいくつかのより良い舞台裏のアルゴリズムがあるかもしれないと考えるようにそれをリファクタリングしてみましたが、それは何も解決しませんでした。これをシンボリック計算に変換すると、目的のグラフが作成されましたが、次のような単純なグラフであっても驚くほど遅くなりました。 そのような高次多項式を評価する数値的に安定した方法はありますか?

1
マトリックスバランスアルゴリズム
私は制御システムのツールボックスをゼロから作成し、純粋にPython3(恥知らずなプラグイン:)で作成していharoldます。私の過去の調査から、Riccatiソルバーについて、care.m技術的/無関係な理由で常に不満を持っています。 したがって、私は自分の一連のルーチンを作成しています。私が回避策を見つけることができない1つのことは、少なくともと同等の高性能バランシングアルゴリズムを取得することbalance.mです。言及する前に、xGEBALファミリはScipyで公開されており、基本的には次のようにScipyから呼び出すことができます。float型の2D配列があるとしますA。 import scipy as sp gebal = sp.linalg.get_lapack_funcs(('gebal'),(A,)) # this picks up DGEBAL Ab, lo, hi, scaling , info = gebal(A, scale=1 , permute=1 , overwrite_a=0 ) 次のテストマトリックスを使用する場合 array([[ 6. , 0. , 0. , 0. , 0.000002], [ 0. , 8. , 0. , 0. , 0. ], …

3
プロジェクトはオブジェクト指向なしで存続できますか?
特定のクラスの数値問題を解決する小さなMATLABパッケージを書いています。アルゴリズムには3つの段階があり、ユーザーは各段階で5つの選択肢があります。私が使用して全体の問題を実装しているの機能及び3スイッチケース(各アルゴリズムのステージに1つ)。それは正常に動作しますが、私はそれをより多くのこと(5つ以上の選択肢ともう1つのステージ)にして、Pythonの移植版(一部の人は興味がある)を作ることを検討しています。≈20≈20\approx 20 OOPフレームワークに変換する必要があるのか​​(まったく得意ではない)、または私が持っている手続きフレームワーク(得意)に固執する必要があるのか​​と思いました。私の手続き型コードでは、関数が2つのことを行わず、重複が最小限であることを確認しました(2つのコードセグメントが同じことを行うことはほとんどありません)。 ドメインに適していると思われる場合は、SOに移行してください。
9 matlab 

1
大きな行列の条件数をどのように概算するのですか?
がフーリエ変換(不均一または均一)、有限差分、および対角行列組み合わせである場合、大きな行列の条件数をどのように近似しますか?G F R SGGGGGGFFFRRRSSS 行列は非常に大きく、メモリには保存されず、関数としてのみ使用できます。 特に、次のマトリックスがあります。 Gμ= SHFHFS+ μ RHRGμ=SHFHFS+μRHRG_\mu=S^HF^HFS+\mu R^HR と条件数の関係を調べたい。K (G μ)μμ\muk (Gμ)k(Gμ)k(G_\mu) ある種の反復的なアプローチが必要だと思いますか?最適には、利用可能なMATLABコードがいくつかあります。

6
柔らかい質問:Pythonはどこに当てはまりますか?
それで、私はPythonを勉強する必要があるかどうかについて議論してきました。私の教授と話すことから、学界に関する限り、Matlabは応用数学/計算科学で使用される共通言語のようです。業界にいる間、私の教授(特に業界で働いたことがある人)は、c ++を学ぶことが最も安全な道だと言っています。 アカデミアと業界の両方で、Pythonに悩む必要があるのか​​、それとも今のところ私が知っていること(MATLABとC ++)に本当に慣れるのかについて、皆さんから聞いてみたいと思います。 更新:ジェフは良い点をもたらします、私はおそらくいくつかの詳細を書き留めるべきです: 私は現在、昨年の学部生で、計算を専門とする数学を勉強しています。大学院に進学して研究を続けたい(自分が教育を楽しんでいるのを見たことがない)か、研究室で働きたいです。どちらも理想的です。研究の分野については、おそらく数値分析または確率の線に沿ったものでしょう。プランAがうまくいかない場合でも、業界への準備が学校からあまり時間をかけられない限り、私は業界で働くことができるでしょう。だから、私はバックアップとして、業界で一般的な言語を学ぶべきだと考えました。しかし、これが私が対立している理由でもあります。すべての言語を勉強したり、あらゆる可能性に備えることはできません。時間がかかりすぎるからです。
9 matlab  python  c++ 

1
Matlab Pde Toolbox:ラインまたは部分多様体に解をプロット
Matlab pdeツールボックスを使用して、特定の楕円方程式を2Dで解決しています。 ソリューションは問題ありませんが、特定のラインに沿ってプロットする必要があります。つまり、ソリューションを表す3Dメッシュから平面スライスをカットする必要があります。 ツールボックス関数を賢く含む方法(つまり、三角形メッシュでの低レベルの補間を含まない方法)を理解できません。 助けてくれてありがとう。
9 pde  matlab 

4
小さな科学図書館のホスティングサイト
私の研究では、C ++計算コードとOctave / Matlab(後処理目的で後者を使用する場合)間の通信を容易にすることを目的とした小さなC ++ライブラリを開発しています。 SourceforgeやGithubなどの無料のホスティングサイトで、GPLに基づいてそのようなライブラリをリリースしたいと思います。 正直なところ、私のサイトとして(小さな)ライブラリに適したサイトを選択する経験はありません。 一方では、githubの方が私にとってより即時に見えます。他方、Sourceforgeは科学的コードの参照サイトであり、その多くはそこでホストされています。 何かアドバイス? 編集:私は私の質問を拡大します。 私が話しているライブラリは、ほとんど個人的な小さなプロジェクト(現在は 15,000 CL、bitbucketのプライベートリポジトリにあります)であり、上司からの2年間の退屈な技術的要求と6か月のコード設計(主にトライアルとエラー)。≈ 15 K≈15K\approx 15K いくつかの問い合わせの後、sourceforgeにはプロジェクトページの訪問とダウンロードに関する統計を作成できる優れたメカニズムがあることに気づきました。そのため、人々(ユーザー)がlibをダウンロードしてそれを使用するだけでも(あるとしても)数えることができます。 一方、Githubは、開発者の観点からははるかに簡単に見えます(ここで私は、コードの分析、拡張、分岐にも興味がある人を意味します)。
9 matlab  libraries  c++ 

1
結合システムのリアプノフ指数を見つける方法
回答 は、カオス同期における結合発振器の条件付きリアプノフ指数(CLE)を計算するためのソフトウェアです。ただし、従うのは難しく、プロットのグラフィカルな出力はありません(Cではより複雑です)。結合されていないシステムに最適なLETツールボックスを変更する方法を知っている人はいますか?しかし、CLEに対応するために同期システムを操作する方法はわかりません。 CLEの応答システムに対してCLEが見つかると理論で示されているため、CLEのヤコビ行列を計算するときにドライバー信号を含める方法について混乱があります。同様の発振器(駆動と応答)。または、ソフトウェアの駆動システムと応答システムの両方を考慮して、それが単一のシステムであるかのように進める必要がありますか? CLEにある場合、ランダムなプロセスのような外部強制を状態方程式に適応させる方法。 CLEの他の実装はありますか? ありがとうございました

4
MATLAB FFT周波数の次数
このウィキブックでは、MATLABの出力は次のFFTように順序付けられた波数に対応していると述べています。 K = { 0 、1 、。。。、n2、− n2+ 1 、− n2+ 2 、。。。、− 1 }k={0,1,...,n2,−n2+1,−n2+2,...,−1}k=\left\{0,1,...,\frac{n}{2},-\frac{n}{2}+1,-\frac{n}{2}+2,...,-1\right\} ただし、同じページのコード例では、波数は次のようにコード化されています。 k = [0:n/2-1 0 -n/2+1:-1]; これは最初のものと同じですが、波数(「最大波数」)が0に置き換えられています。彼らが0を 2回含むのは奇妙に思えます。n / 2n/2n/2000000 wikibookで説明されているように、フーリエ変換を介して導関数を取得するには正しい順序が必要であるようです。これらのうち正しいものはどれですか。MATLABはこれをどこかに文書化していますか?

4
MATLABでのインクリメンタルSVD実装
MATLABでインクリメンタルSVDを実装したライブラリ/ツールボックスはありますか?私はこのペーパーを実装しました、それは速いですがうまくいきません。私はこれを試しましたが、これでもエラーが速く伝播します(5〜10ポイントの更新内でエラーが高くなります)。


1
PDEのシステム用の有限差分行列の自動生成
解くPDEのシステムがあるとします。少なくとも簡単にするために、それが時間に依存せず、(x、y)空間の長方形グリッド上で解決された準線形(その導関数では線形)であり、境界条件がすべて指定されていると仮定しましょう。私の質問はより一般的ですが、ここから始めましょう。 2つの従属変数、とv (x 、y )がある場合があります。一般的な方程式は次のような形になります。u (x 、y)あなた(バツ、y)u(x,y)v (x 、y)v(バツ、y)v(x,y) a (x 、y)Yx x+ b (x 、y)Yyy+ c Yx y+ d(x 、y)Yバツ+ e (x 、y)Yy= f(x 、y、Y)a(バツ、y)Yバツバツ+b(バツ、y)Yyy+cYバツy+d(バツ、y)Yバツ+e(バツ、y)Yy=f(バツ、y、Y) a(x,y) Y_{xx} + b(x,y) Y_{yy} + cY_{xy} + d(x,y) Y_x + e(x,y) Y_y = f(x, y, Y) ここで、からeまでのすべての関数は2x2行列、fは2x1行列、YはaaaeeefffYYY Y(x 、y)= (u (x 、y)v (x …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.