0

フィールドBCを持つ構造 Aがあります。

B の値は double で、1 または 2 の値を取ることができます。C の値は double で、値の範囲は 1 から約 50 です。B と C はどちらも同じ数の要素を持ちます (値が C に代入されると、 1 または 2 が B) に割り当てられます。

次のコードは、B が 1 に等しいすべてのインデックス値を見つけ、それらのインデックス値を使用して C の最小値を見つけることになっています。

>> a=find(A(1).B(:)==1);

>> [value,index]=min(A(1).C(a))

value =   5.020000000000000
index =   630

以下に示すように、最小値インデックスを B に戻すと、2 が返されます。

>> A(1).B(630)

ans =     2
4

1 に答える 1

1

aこの問題は、 vectorが元の vector と同じサイズではないという事実から生じA(1).B(:)ます。したがって、取得する値は、適切なインデックスの使用を取得するために、 notindexの対応する場所を参照します。aA(1).C(:)

A(1).B(a(index))
于 2013-09-20T11:01:30.733 に答える