0

A「列が1つしかない」2つの行列があり、以下に示すようBに複数の列がありますが、行数は同じAです。やりたいことは、-1に等しい要素を持つAの行をチェックし、削除を削除することですマトリックス A と B の両方からこの行を削除するため、以下の例では、マトリックス A と B の両方から行インデックス 3 と 6 を削除したいのですが、アドバイスはありますか?

A=  6
    3
    -1
    6
    6
    -1
    2
    4

and B= -0.511774504646677   0.435674206557952   1.07400000000000
-0.509871997194459  0.437576714010170   1.07400000000000
-0.507969489742241  0.439479221462388   1.07400000000000
-0.506586007364545  0.429374013677012   1.07100000000000
-0.504201297562686  0.439754515167456   1.07100000000000
-0.501883219358233  0.428847974750132   1.07100000000000
-0.501415044713309  0.431930562861652   1.07100000000000
-0.499537085744345  0.433808521830616   1.07100000000000
4

2 に答える 2

6

以下に基づいて論理インデックスを使用しAます。

B=B(A~=-1,:);
A=A(A~=-1);
于 2013-08-12T14:01:03.583 に答える
2

すでに提案されているものとほぼ同じですが、同じインデックスを 2 回計算することはありません。Aまた、 と を変更する順序を変更しても、これは失敗しませんB

idx = A~=-1;
A = A(idx);
B = B(idx);
于 2013-08-12T14:59:47.233 に答える