BigMac BigMac 13.12.2017, 16:54:57 1 #programowanie (nie bijcie) #matlab Mirunie mógłby ktoś znaleźć błąd w matlabie? potrzebuje rozwiazać równanie metoda nadrelaksacji. Gdzieś mi wyskakuje, że nie jest ok. nie kumam gdzie. W podziękowaniu oferuję dobre słowo i plusaTutaj linkmatlab Cronox
Okcydent Okcydent 13.12.2017, 19:32:44 0 @BigMac: Nie mnożysz macierzy i wektorów w Matlabie pętlami. Po prostu nie. #!$%@?!
Okcydent Okcydent 13.12.2017, 19:48:19 0 @BigMac: Macieju, Twój kod jest obrzydliwy. Nie znam metody, ale taki kod wygląda o niebo lepiej, choć działa dalej źle, w sensie złych wyników.P = [37 67 -18 65]';X1 = [0 0 0 0]';eps = 0.01;[m,n]=size(A);[i,l]=size(P);if m~=n || n~= i || l~=1; error('bledny rozmiar zadania')endroz= eps+1;for k=1:iteration Su = A*X1; X=X1; dx = (P-Su)./diag(A); X1 = X + w*dx; roz=max(abs((X-X1)./X1)); if(roz<eps) break;Pokaż całość
Tutaj linkmatlab
P = [37 67 -18 65]';
X1 = [0 0 0 0]';
eps = 0.01;
[m,n]=size(A);
[i,l]=size(P);
if m~=n || n~= i || l~=1;
error('bledny rozmiar zadania')
end
roz= eps+1;
for k=1:iteration
Su = A*X1;
X=X1;
dx = (P-Su)./diag(A);
X1 = X + w*dx;
roz=max(abs((X-X1)./X1));
if(roz<eps)
break;