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

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 Kommentare

Jan
Jan am 6 Apr. 2013
Without seeing the code, we cannot guess what's going on. Please, kpreet, think twice: Do you really think that a useful answer is possible based on this level of information?
preet
preet am 6 Apr. 2013
my code is too long dear...thats why i did not paste here.
preet
preet am 6 Apr. 2013
Bearbeitet: preet am 6 Apr. 2013
let me know both continue statements are same in matlab and c language
preet
preet am 6 Apr. 2013
Bearbeitet: preet am 6 Apr. 2013
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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Friedrich
Friedrich am 6 Apr. 2013
Bearbeitet: Friedrich am 6 Apr. 2013

1 Stimme

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 Kommentare

preet
preet am 6 Apr. 2013
thanx for reply. but dear friedrich i already incremented j, problem is something else.
Cedric
Cedric am 6 Apr. 2013
Bearbeitet: Cedric am 6 Apr. 2013
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by