how do i jump to a previous line in a matlab program

48 visualizzazioni (ultimi 30 giorni)
clc
tini=[21;26;29;30;23];
x= [1,2,3,0,0;3 6 -3 tini(3) 3;0,0, -2,-7,4;0,0,8,-3,tini(4);4,-5,8,0,0];
invx= inv(x);
a= [9;-3;21;tini(4);-23];
t=invx*a;
x=t-tini;
minx = min (x)
if abs(minx)>=1
tini=t;
% i need to go to line 4 and replace tini values with recent ones
else
fprintf ('your final temp is\n')
t
end

Risposte (3)

Walter Roberson
Walter Roberson il 22 Nov 2013
You cannot jump to previous lines. Use a structure such as
tini = ....
while true
x = ....
...
if abs(minx) < 1 %reversed condition
disp(...)
break
end
end

Azzi Abdelmalek
Azzi Abdelmalek il 22 Nov 2013
I am not sure that your code converge, maybe you want
clc
tini=[21;26;29;30;23];
minx=10;
while minx>=1
x= [1,2,3,0,0;3 6 -3 tini(3) 3;0,0, -2,-7,4;0,0,8,-3,tini(4);4,-5,8,0,0];
invx= inv(x);
a= [9;-3;21;tini(4);-23];
t=invx*a;
x=t-tini;
minx = min (abs(x)); % I changed this line
tini=t;
end
fprintf ('your final temp is\n')
t

Iosif
Iosif il 13 Nov 2022
D=input ('Βαθος νερου σε m ')
W=input ('Βαρος ανα μοναδα μηκους της γραμμης αγκυρωσης στο νερο σε N/m ')
Hex=input ('εξωτερικη φορτηση σε kn ')
dx=input ('οριζοντια μετατοπιση σε m ')
if dx/D>=0.3 && dx/D<=0.6
else
disp ('Δωσε διαφορετικη τιμη για το dx')
dx=input ('οριζοντια μετατοπιση σε m ')
end
I want to make my programm go to if after else and run that lines again until if line is satisfied

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by