is 'continue' in 'c' language similar in MATLAB??

1 次查看(过去 30 天)
i am changing my code of c language in to matlab .but its gives infinite loop in Matlab during use 'continue' statement?
what is the problem? is there any other alternate of 'continue' statement?
  4 个评论
preet
preet 2013-4-6
编辑:preet 2013-4-6
let me know both continue statements are same in matlab and c language
preet
preet 2013-4-6
编辑:preet 2013-4-6
for i=istart:n
if pnewperCube(i)<=tm
flag=1;
ppnewQR1=pnewQR(i);ppnewQG1=pnewQG(i);ppnewQB1=pnewQB(i);
ppnewperR1=pnewperR(i); ppnewperG1=pnewperG(i);ppnewperB1=pnewperB(i);
jmin=1;
while j<=n
if j==i
continue;
end
ppnewQR2=pnewQR(j);ppnewQG2=pnewQG(j);ppnewQB2=pnewQB(j);
dist2=abs(ppnewQR1-ppnewQR2)+abs(ppnewQG1-ppnewQG2)+abs(ppnewQB1-ppnewQB2);
if distmin>dist2
distmin=dist2;
jmin=j;
end
j=j+1;
end %j loop
ppnewQR2=pnewQR(jmin);ppnewQG2=pnewQG(jmin);ppnewQB2=pnewQB(jmin);
ppnewperR2=pnewperR(jmin);ppnewperG2=pnewperG(jmin);ppnewperB2=pnewperB(jmin);
XrP=floor(((ppnewQR1*ppnewperR1)+(ppnewQR2*ppnewperR2))/(ppnewperR1+ppnewperR2));
XgP=floor(((ppnewQG1*ppnewperG1)+(ppnewQG2*ppnewperG2))/(ppnewperG1+ppnewperG2));
XbP=floor(((ppnewQB1*ppnewperB1)+(ppnewQB2*ppnewperB2))/(ppnewperB1+ppnewperB2));
. . . . .
end
end

请先登录,再进行评论。

采纳的回答

Friedrich
Friedrich 2013-4-6
编辑:Friedrich 2013-4-6
Hi,
yes continue in MATLAB is the same as in C. However when I look at that while loop:
while j<=n
if j==i
continue;
end
this can`t even work in C. If j == i you will hit an endless loop because j never changes. Maybe you are missing to increment j before the continue statement?
  2 个评论
preet
preet 2013-4-6
thanx for reply. but dear friedrich i already incremented j, problem is something else.
Cedric
Cedric 2013-4-6
编辑:Cedric 2013-4-6
No, the problem is precisely here. You increment j after the conditional statement, so your code is looping between the WHILE and the CONTINUE, without ever incrementing j. It would be the exact same in C, unless you had a j++ in either condition.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by