Zdravim
potřeboval bych moct s jedním problémem. Potřebuji u těchto dvou metod počítat konečný počet kroků výpočtu v Matlabu. O něco jsem se pokoušel, ale prý je to špatně. Chtěl bych vás poprosit jestli se na to podíváte. Potřebuji hodnotu: krok
Děkuji
function [x, krok] = jacobi(A, b, x, epsilon)
n = length(b);
k = 0;
krok = 0;
for k = 1:1e4
xk = x;
for i = 1:n
x(i)=((b(i)-A(i,1:i-1) * x(1:i-1)-A(i,i+1:n)*x(i+1:n)))/A(i,i);
k = k+1;
krok=krok+1;
end
err = max(abs(x-xk))/(max(x));
if err <= epsilon
return
end
krok = krok+1;
end
end
function [x, krok]= gauss(A, b)
Ab = [A, b];
n = length(b);
krok = 0;
for i= 1:n
step = 1;
while Ab(i,i) == 0
Ab([i i+step],:) = Ab([i+step i], :);
step = step + 1;
krok = krok+1;
end
for j= (i+1):n
Ab(j,:)= Ab(j,:) - Ab(i,:) * Ab (j,i)/Ab(i,i);
krok = krok +1;
end
krok = krok+1;
end
x = Ab(:,n+1);
for i= n:-1:1
x(i) = (x(i) - Ab(i,(i+1):n) * x((i+1):n)) / Ab(i,i);
krok = krok+1;
end
end