Working with arrays in a for loop

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 个评论

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 个)

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);
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

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

尚未输入任何标签。

提问:

2011-1-28

Community Treasure Hunt

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

Start Hunting!

Translated by