私は、xと呼ばれる座標のベクトルを持っています。Matlab - 関係行列
a = find(x(:,2)==min(x(:,2))); % Contains indices
これは、最小のy座標を持つ要素のインデックスを返します。要素* の *と言うときは、これによって1つ以上の値が返されることがあります(たとえば(10,2)と(24,2)の両方が2のy座標を持ち、2が最小のy座標です。
とにかく、私の次のステップは、x座標に従ってmin y座標で要素をソート(昇順)することです。最初に私は:
上記の操作は、要素をmin y座標で並べ替えるかもしれないので、この並べ替えをaにも適用したいと思います。だから、私は何:同じx値を持つ要素が異なるyの値とがある場合
[v i] = ismember(b, x(:, 1));
残念ながら、これらの要素のいずれか(すなわち、B)次いで、上記マトリクスは、それを選択するのメンバーであることが判明しました。たとえば、(10,2)と(24,2)が最小のy座標を持つ要素であり、3番目の要素(24,13)がある場合は、上記の操作が混乱します。より良い方法がありますか?私はループを使用してスクリプトを書いて、すべてうまくいっていましたが、Matlabの方法論に沿って書き直しました。私はmatlabに慣れていないことがこのエラーを引き起こしているのではないかと心配しています。
これはまさに私の目的です。 sort(これはすでにyの値をソートしているので)でも行うことができます:[v i] = sort(x(idx、1)); idx(i); :)。 – s5s