How can I fix this iteration script

2 visualizzazioni (ultimi 30 giorni)
Marek Endrizal
Marek Endrizal il 15 Dic 2020
Commentato: Hiro Yoshino il 15 Dic 2020
Hi, I'm trying to solve problem.
I have to set max 2 iteration and to be honest I am not skilled in this kind of script. If someone will help me u will give me good christmas present thank you.
it = 0; % Počet iterácií
while max(abs(U-UU))>eps
UU = U; %Saving previously iteration
for m = 1:length(U) %Solve of new iteration
if metoda == 1
U(m,1) = a(m,m)\(-b(m,:)*UU+c(m,:));
else
U(m,1) = a(m,m)\(-b(m,:)*U+c(m,:));
end
end
it = it+1;
end
[U.'*1e-3 it]
  5 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 15 Dic 2020
it = 0; % Počet iterácií
while max(abs(U-UU))>eps
UU = U;
for m = 1:length(1) %
if metoda == 1
U(m,1) = a(m,m)\(-b(m,:)*UU+c(m,:));
else
U(m,1) = a(m,m)\(-b(m,:)*U+c(m,:));
end
end
it = it+1;
if it>2
break;
end
end
end
[U.'*1e-3 it]
Marek Endrizal
Marek Endrizal il 15 Dic 2020
Thank you so much <3

Accedi per commentare.

Risposte (1)

Hiro Yoshino
Hiro Yoshino il 15 Dic 2020
All you need is add one more restriction on the top of the "while" loop.
it = 0; % Počet iterácií
while max(abs(U-UU))>eps || it <= 1
UU = U; %Saving previously iteration
for m = 1:length(U) %Solve of new iteration
if metoda == 1
U(m,1) = a(m,m)\(-b(m,:)*UU+c(m,:));
else
U(m,1) = a(m,m)\(-b(m,:)*U+c(m,:));
end
end
it = it+1;
end
[U.'*1e-3 it]
  2 Commenti
KALYAN ACHARJYA
KALYAN ACHARJYA il 15 Dic 2020
while max(abs(U-UU))>eps && it <= 1
Hiro Yoshino
Hiro Yoshino il 15 Dic 2020
@KALYAN Yes, you're right! Haha

Accedi per commentare.

Categorie

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

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by