Do not take any amount
1 回表示 (過去 30 日間)
古いコメントを表示
pop=randi([100],20,8);
[r1,c1]=size(pop);
for i=1:r1
A=randi(100);
if A<=90
pool(i,:)=pop(i,:);
end
end
Hi
I want if the condition is not met, the pool variable does not take any value, in other words, in the end, for example, it becomes an 18x8 matrix, not an 20x8 matrix with 2 rows containing the value 0
Thank you for your guidance
0 件のコメント
採用された回答
KSSV
2020 年 10 月 5 日
編集済み: KSSV
2020 年 10 月 5 日
pop=randi([100],20,8);
[r1,c1]=size(pop);
pool = zeros([],c1) ;
count = 0 ;
for i=1:r1
A=randi(100);
if A<=90
count = count+1 ;
pool(count,:)=pop(i,:);
end
end
You need not to use loop...it can be vectorized.
pop=randi([100],20,8);
[r1,c1]=size(pop);
A = randi(100,1,r1) ;
pool = pop(A<=90,:) ;
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!