[解決済み] 関数から返されたMATLAB配列を、最初にローカル変数に代入せずにインデックスを作成するにはどうすればよいですか?
2022-03-25 11:16:54
質問
例えば、中間の値を
magic(5)
ということであれば、以下のようになります。
M = magic(5);
value = M(3,3);
を取得します。
value == 13
. この中のどれかのようなことができるようにしたいです。
value = magic(5)(3,3);
value = (magic(5))(3,3);
を使えば、中間変数が不要になります。しかし、MATLABは
Unbalanced or unexpected parenthesis or bracket
の前の最初の括弧に
3
.
最初に変数に代入せずに、配列/行列から値を読み取ることは可能でしょうか?
どのように解決するのですか?
実は
は
しかし、インデキシング演算子の関数型を使用しなければなりません。を使ってインデックス付け操作を行う場合
()
を呼び出していることになります。
subsref
関数を使用します。そのため、たとえ
できない
するのです。
value = magic(5)(3, 3);
あなた できる する。
value = subsref(magic(5), struct('type', '()', 'subs', {{3, 3}}));
不細工だけど、可能性はある;)
一般的には、インデックス作成ステップを関数呼び出しに変更するだけで、直後に2組の括弧が続くようなことはありません。別の方法としては、独自の 匿名関数 を使用して、添え字のインデックスを作成します。例えば
subindex = @(A, r, c) A(r, c); % An anonymous function for 2-D indexing
value = subindex(magic(5), 3, 3); % Use the function to index the matrix
しかし、すべてが終わったとき、一時的なローカル変数の解決策は 大いに より読みやすく、間違いなく私がお勧めする方法です。
関連
-
[解決済み] 第一差分フィルタ
-
[解決済み] ある行列から固有ベクトルの異なる解を得ることができるでしょうか?
-
[解決済み] エラー --> 整数には同じクラスの整数か、スカラー倍数しか組み合わせることができません。
-
[解決済み] Matlabのstrcat関数が空白を含んでいる場合のトラブル
-
[解決済み] Matlab - 連立方程式を解くときにvpasolveエラーが発生する
-
[解決済み] グラフと関係のないカスタム凡例を追加する
-
[解決済み] 匿名関数の微分
-
[解決済み] 指定された矩形に含まれる配列中の点を見つける( matlab )
-
[解決済み] MATLABで音を止めるには?
-
[解決済み】Pythonで値を代入せずに変数を宣言することだけが可能か?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Matlab: 黒を使わないグレースケールでのimagescの使用
-
[解決済み] matlabエディタで複数の行をコメントするためのショートカットキーはありますか?
-
[解決済み] セルコンテンツから非セル配列オブジェクトへの代入
-
[解決済み] matlabで補強行列を作成し、縮小行エシュロン形式を作成する。
-
[解決済み] Matlab: 逆コサイン(acos)の完全解を返す
-
[解決済み] なぜSIFTはMatlabで利用できないのですか?
-
[解決済み] Matlab - rectangle関数を使用せずに矩形をプロットする
-
[解決済み] Matlabで'symfun'によって記号関数の微分を実装するには?
-
[解決済み] Matlab の imrect を用いて,新しい矩形の座標を取得します.
-
[解決済み] Matlabでforward inputnames?