Anonymní profil Havlda – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Havlda – Programujte.comAnonymní profil Havlda – Programujte.com

 

Příspěvky odeslané z IP adresy 147.228.81.–

Havlda
Matematika › Jacobiho a Gaussova metoda
16. 2. 2016   #208656

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

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý