Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function X = elim(fisier)
- v = load(fisier);
- a = size(v);
- a = a(1,2);
- n = 2+(a-6)/4;
- c = 3;
- a(1) = 0;
- b(1) = v(1);
- c1(1) = v(2);
- for i = 2:n-1
- a(i)=v(c);
- b(i)=v(c+1);
- c1(i)=v(c+2);
- c=c+3;
- end
- c1(n) = 0;
- a(n) = v(c);
- b(n) = v(c+1);
- c=c+1;
- for i = 1:n
- t_liber(i) = v(c+i);
- end
- if(n > 100)
- X = tridi(a, b, c1, t_liber);
- else
- %Aici bagi o eliminare gaussiana
- X = zeros(1, n);
- endif
- dlmwrite("date.out", X);
- end
- function d = tridi(a, b, c, d)
- %Intrari a = subdiagonala
- % b = diagonala principala
- % c = supradiagonala
- % d = vectorul termenilor liberi
- a = a(:);
- n = length(b);
- for i=2:n
- t = a(i) / b(i-1);
- b(i) = b(i) - t*c(i-1);
- d(i) = d(i) - t*d(i-1);
- endfor
- d(n) = d(n) / b(n);
- for i = n-1: -1:1
- d(i) = (d(i) - c(i)*d(i+1)) / b(i);
- endfor
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment