Working with arrays in a for loop

1 回表示 (過去 30 日間)
athpapa -
athpapa - 2011 年 1 月 28 日
I have 2 variables that take their values from a 'for' loop. How can I put the values of those 2 variables into an array? For example, I have the code:
for ....
Ith1 = H - ceil(i./I);
Ith2 = I;
end
and the variables Ith1, Ith2 take some values. I want these values to put them in an array. As a result, when I print the array I want to see all these values!.
e.g. Array with 2 columns (Ith1, Ith2)= 5 10, 2 5, 6 18
  1 件のコメント
Oleg Komarov
Oleg Komarov 2011 年 1 月 28 日
You can vectorize your code, i.e. calculate your final matrix w/o loops...but you need to give us more details on how you intend to create the first and the second column (criterias)

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

回答 (3 件)

Paulo Silva
Paulo Silva 2011 年 1 月 28 日
lth1v=[];lth2v=[];
for ....
Ith1=H-ceil(i./I); Ith2=I;
lth1v=[lth1v lth1];
lth2v=[lth2v lth2];
end
lth=[lth1v lth2v];
If you want or need the code to be fast you should preallocate before the loop
n=? %this is how many time the for will be executed,replace ? by your value
lth1v=zeros(1,n);lth2v=zeros(1,n);

the cyclist
the cyclist 2011 年 1 月 28 日
Something like this is probably what you are after. You might have to play around to get your syntax exactly right, but this should give you an idea.
ltArray = zeros(100,2);
for nrow = 1:100
Ith1=H-ceil(i./I); Ith2=I;
ltArray(nrow,:) = [Ith1,Ith2];
end

athpapa -
athpapa - 2011 年 1 月 28 日
Thank you all for your help!

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by