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!
Best Answer