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!