ÄúÕýÔڲ鿴 "matlab³ÌÐò¼Ð" ·ÖÀàϵÄÎÄÕ 2007-12-14 13:33 %ÓÃÀ´¾ÍÊýÖµ»ý·Ö
%fxÊÇÓÉsyms¶¨ÒåµÄº¯Êý±í´ïʽ
function Trapezia(a,b,fx,E,N)
fprintf('\n***********start*************\n');
h=(b-a)/2;
a=a+E/10;%ÓÃÀ´¼õÉÙ³öÏÖ³ýÊýΪÁãµÄÇé¿ö
%±ÈÈç¶Ôº¬ÓÐ1/xµÄº¯Êý»ý·ÖÇÒ»ý·ÖÇø¼ä´Ó0¿ªÊ¼
%ÔÚÌÝÐι«Ê½¼°Simpson¹«Ê½Ëã·¨ÖбØÈ»³öÏÖ³ýÊýΪÁãµÄÇé¿ö
|
2007-12-14 13:30 function Newton(fx,x0,E,N)
%digits(10)
x=0
for n=1:N
x=x0-subs(fx,x0)/subs(diff(fx),x0);
fprintf('%f\n',x);
if abs(det(x-x0))<E
break;
end
if n<N
n=n+1;
x0=x;
else
|
2007-12-14 13:29 function Gauss_Seidel(A,b,n,x0,E,N)
k=1
x=zeros(n,1)';%¹¹ÔìÁÐÏòÁ¿
fprintf('\n**********start**************\n',k);
for k=1:N
fprintf('%d\t',k);
%calculate x(1)
x(1)=b(1)/A(1,1);
for j=2:n
x(1)=x(1)-A(1,j)*x0(j)/A(1,1);
end
fprintf('%f\t',x(1));
%calculate x(i)
|
2007-12-14 13:26 function [x1]=yakebi(A,b)
%Jacobi mehtod to solve the linear equation
%chinamaker@dytrol.com,12.18
num=length(A);
M=zeros(num,num);
x=zeros(num,1);
N=-A;
for i=1:num
M(i,i)=A(i,i);
N(i,i)=0;
x(i,1)=1;
end
err=1;
B=inv(M)*N;
g=inv(M)*b;
while abs(err)>0.00001
xx=B*x+g;
err=norm(xx-x,1);
x=xx;
end
x1=x;%Jacobi method result
|
2007-12-10 22:33 ÕâÊÇmatlabÉϱàдµÄ³ÌÐò£º
function y=gauss(a,b,n)
for k=1:n-1
for i=k+1:n
a(i,k)=a(i,k)/a(k,k);
for j=k+1:n
a(i,j)=a(i,j)-a(i,k)*a(k,j);
end
b(i)=b(i)-a(i,k)*b(k);
end
en |
| | |