While loop with for loop problem
Afficher commentaires plus anciens
Hello everyone!
I have a situation here trying to solve a while loop inside a for loop.
As you can see in the code, I want to calculate "xn", varying "omega" and then, evaluate which "omega" gives the minor number of iterations (nite), storing in a vector (nite_vec) the each "nite" for each "omega" used in the looping.
But the counte "i" does not to up date inside the "while".
%% Iterations
D = [3 0 0; 0 2 0; 0 0 1];
b = [0; 1; 0];
L = [0 0 0; 1 0 0; 0 1 0];
U = [0 1 0; 0 0 1; 0 0 0];
tol = 10^-7;
nite_max = 100;
n = length(b);
x0 = zeros(n,1);
omega = (1:0.05:2)';
nite = 0;
xn = 1;
xi = x0;
for i = 1:length(omega)
while norm(xn-xi) >= tol && nite <= nite_max
xn = (D-omega(i)*L)\((1-omega(i))*D+omega(i)*U)*x0+omega(i)*((D-omega(i)*L)\b);
xi = x0;
x0 = xn;
nite = nite+1;
end
nite_vec(i) = nite;
end
Could anyone help me with this!
Many thanks!
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!