function[x]=doolitle(a,b)
n=size(a,1)
u=zeros(n,n)
l=eye(n,n)
for k=1:n
u(1,k)=a(1,k)
end
for j=2:n
l(j,1)=a(j,1)/u(1,1)
end
for j=2:n-1
for k=j:n
for s=1:j-1
p=l(j,s)*u(s,k)
end
u(j,k)=a(j,k)-p
for t=j:n-1
for r=t+1:n
q=l(r,s)*u(s,t)
l(r,t)=1/u(t,t)*(a(r,t)-q)
end
end
end
end
w=0;
for s=1:n-1,
w=w+l(n,s)*u(s,n);
end
u(n,n)=a(n,n)-w;
y=l\b
x=u\y
endfunction
Crout
function [x]=crout(a,b)
n=size(a,1)
l=zeros(n,n)
u=eye(n,n)
for j=1:n
l(j,1)=a(j,1)
end
for k=2:n
u(1,k)=a(1,k)/l(1,1)
end
for k=2:n-1
for j=k:n
for s=1:k-1
p=l(j,s)*u(s,k)
end
l(j,k)=a(j,k)-p
for r=k:n-1
for t=r+1:n
q=l(r,s)*u(s,t)
u(r,t)=1/l(r,r)*(a(r,t)-q)
end
end
end
end
w=0
for s=1:n-1
w=w+l(n,s)*u(s,n)
end
l(n,n)=a(n,n)-w
y=l\b
x=u\y
endfunction
No comments:
Post a Comment