Extracting the first three minimum elements from a vector v and assign them to h then letter remove the elements from vector v and used the index to removed some element in vector w.

2 ビュー (過去 30 日間)
v=[3,6,1,7,9,4];
w=[3,2,7,1,9,5];
[x,y]=sort(v);
h=x(1:3);
i=1;
while i<=numel(v)
if v(i)==h(i) % here h will be less than the elements in v, so it give me error
v(i)=[];
else
v(i)=v(i);
end
i=i+1;
trying to take the first three minimum elements in vector v and assigned the values to h, and after then, remove those elements from v, and use index of the removed elements of v, to remove some elements in w.
e.g v=
  6 件のコメント
KSSV
KSSV 2017 年 12 月 6 日
YOu want to remove those minimum three elements from v?

サインインしてコメントする。

採用された回答

Bashir Yusuf Bichi
Bashir Yusuf Bichi 2017 年 12 月 6 日
編集済み: Bashir Yusuf Bichi 2017 年 12 月 6 日
v(h)=[];
w(h)=[];
thanks @KSSV, I got it. I don't have to use the while loop.

その他の回答 (1 件)

KSSV
KSSV 2017 年 12 月 6 日
v=[3,6,1,7,9,4];
[k,idx] = sort(v) ;
h = k(1:3) ;
%%Remove from k
k(1:3) = []
%%Remove from v
v(idx(1:3))=[]

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by