Multiple loop doesn´t work with right values
2 次查看(过去 30 天)
显示 更早的评论
Hello, I can´t figure out myself what is wrong with following nested loops:
index = 0;
for i = 1 : 2 : givenValue
index = index + 1;
j = i + 1;
for k = 1 : givenValue/2
if sth_x(k) > sth_y(k)
step(k) = sth_y(k) / sth_x(k);
end
end
for id = 1 : givenValue/2
values_x{index} = mat(i, 1) : mat(j, 1);
values_y{index} = mat (i, 2) : step(id) : mat(j, 2);
end
In words, what I need is to generate two cell arrays (values_x and values_y) with one row and several columns, which contains all points (pixels - it is image analysis) between points (pixels) mat(i,1) and mat (j,1) with growing i and j. values_x are allways increased with 1, but values_y are supposed to be increased with step counted before. Problem I have is that cell array values_y is generated with step from the last iteration only. I need values_y{1,1} to be counted with step 1 and values_y{1,2} to be counted with step 2. Therefore values_x{1,1} and values_y{1,1} will be the same length.
I´m new to matlab and I know this might be simple. But I really don´t know what is wrong. I tried to change order of "for" and "if", tried to replace "id" with "k" but still nothing works.
Thank you for your advices very much.
0 个评论
回答(1 个)
Nitin
2014-3-18
You might need to initialize your cells first before saving to it.
a = cell(1, num);
3 个评论
Nitin
2014-3-19
编辑:Nitin
2014-3-19
Hopefully this will help, I am not sure what you are trying to achieve though:
index = 0;
givenValue = 10;
step = 1:5;
values_x = cell(1,10);
values_y = cell(1,10);
mat= randi(20,20,2);
for i = 1 : 2 : givenValue
index = index + 1;
j = i + 1;
for k = 1 : givenValue/2
if 2 > 1
display('So far so good')
end
for id = 1 : givenValue/2
values_x{index} = mat(i, 1) : mat(j, 1);
values_y{index} = mat (i, 2) : step(id) : mat(j, 2);
end
end
end
For example you can access the elements in the array using values_x{1}
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!