フィルターのクリア

Do not take any amount

1 回表示 (過去 30 日間)
lech king
lech king 2020 年 10 月 5 日
コメント済み: lech king 2020 年 10 月 5 日
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

採用された回答

KSSV
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,:) ;
  1 件のコメント
lech king
lech king 2020 年 10 月 5 日
Thank you very much
This is it

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by