質問

d次元配列 A と、長さがdに等しいベクトル inds があります。 inds A の値にアクセスしたいと思います。

理想的には、 A(* inds)(Pythonから解凍構文を借用)のようなことをします。MATLABでこれを行う方法がわかりません。

A(inds)を実行すると、実際には A からd個の個別の値が取得されますが、これは私が望むものではありません。私が欲しいのは、 inds の要素iを関数呼び出し A ()のi番目のパラメーターにすることです。

役に立ちましたか?

解決

1つの解決策は、カンマ区切りのリストを作成することです添え字付きインデックスindsのベクトルから。これを行うには、 NUM2CELL を使用してセル配列に変換します。次に、{:}のインデックスを作成するときに、A構文を使用します。 ジェネラコディセタグプレ

他のヒント

このツールが役立つと思います:

R= rand(5,10,15,20)のようなND行列があり、特定のパターンの要素にアクセスする場合は、spindexを使用して、入力アクセスと同じ形状で出力にアクセスできます。。したがって、size(i1)= [5,5,5]、size(i2)= [5,5,5]などの場合、size(spindex(R、i1、i2、i3、i4))も等しくなります。[5,5,5]。 ジェネラコディセタグプレ

以下のコードをspindex.mとしてMATLABパス内の場所に追加する必要があります。 ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top