関数内の任意の行列のエントリを抽出する方法を知る必要があります。関数f
は、固定実数行列の要素a(i,j)
を抽出するために、2つの余分な入力引数i
とj
を取得します。行列は作業領域にあり、大きなサイズです。関数f
は、長い反復アルゴリズムの中にあります。それぞれの反復で行列全体がa
にリコールされると、速度が大幅に低下します。この行列は関数として定義するか(関数内で呼び出すことができるように)するか、マットファイルからロードする必要があります。最初のオプションはより効率的だと思われますが、行列を関数としてどのように保存するか分かりません。MATLABの関数内のデータ行列を使用する
答えて
私はあなたの質問を理解していません。
配列arr
があるとします。 arr(i,j)
を実行すると、その要素にアクセスできます。
ファンクション本体にfunc(arr, i, j)
というファンクションがあり、パラメータを使用して簡単にarr(i,j)
にアクセスできるとします。
func
が配列を返す場合、あなたは関数の行列をしたい場合は、それらにハンドルを作るvar = func(arr); var(i,j)
を行うと、配列にそれを格納することができます。
a = @func_a;
b = @func_b;
c = @func_c;
funcarray = [a b c];
私たちが話している配列はあらかじめ指定されており、サイズは大きいです。私は 'arr(i、j)'のような関数をデータのシートから作成する方法を探しています。 –
@SaraWinslet通常、配列を関数に渡します。 MATLABはcopy on writeを使用するので、メモリ内のデータを変更しない限り(メモリが問題であると仮定して)、配列は関数内にコピーされません。興味のある配列とインデックスをすでに知っている方は、代わりに関数に 'a(i、j)'を渡すのはなぜですか?どのような問題を解決しようとしていますか? – beaker
すべてのエントリを使用します。関数自体は長い反復アルゴリズムの中にあります。 –
- 1. mat2cell関数を使用して行列を分割する[MATLAB]
- 2. matlabの行列に関係する関数のヘッセ行列を計算する
- 3. 関数をMATLABの行列に適用する方法は?
- 4. MATLAB関数行列パラメータ
- 5. 行列の行にノルム関数を適用 - MATLAB
- 6. 使用するデータを整理するGraphshortestpath関数 - Matlab
- 7. フィルタ行列の列/行のデータをMATLAB
- 8. ベクトル入力変数の行列関数を作成する(Matlab)
- 9. matlabを使って行内に複数の行列を作成するには
- 10. Matlabのシンボリック関数の行列を抽出する方法
- 11. データ行列関数
- 12. サブ行列に "all()"関数を適用できますか?[MATLAB]
- 13. Matlab - 関係行列
- 14. simulink-matlab関数可変サイズ行列
- 15. 一致ID + Matlabの行列内の数値を見つける
- 16. Matlab/Octaveを使用した複数の行列の結合
- 17. Matlab:関数/スクリプト内の指定されたディレクトリ内のすべての関数を実行する
- 18. フィルタ関数の使用法Matlab
- 19. 関数内で1つのDataFrameの列を使用する - Python
- 20. 行列の指数関数でNUTSサンプラーを使用する
- 21. 関数内の行列を変更してメインで使用する
- 22. MATLAB:範囲内の関数を検索
- 23. スレッド内の関数の実行または関数内のスレッドの使用
- 24. 異なる行列サイズを返すMATLAB 'cat()'関数
- 25. MATLABで並列関数を実行するには?
- 26. matlabでラジアル基底関数カーネル行列を作成する
- 27. 関数内の関数の使用
- 28. 関数内のスイッチを使用する
- 29. バックボーンビュー内の関数を使用する
- 30. 関数内のルータクラスを使用する
この関数をどのように呼び出しているか、そしてなぜ別の関数を使って配列にアクセスする必要があるのかを示す最小限のコード、または少なくとも疑似コードを見るとよいでしょう。 – beaker