- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析的几个简单算法实现.doc
数值分析的几个简单算法实现??Matlab6.5
? ?
2006-11-24 07:42:12
大 中 小
%埃特金算法Aitken.m
function x=Aitken(fname,x0,N,e)
k=1;e=1e-5;x2=x0+2*e;
while abs(x2-x0)ekN
x1=feval(x0);x2=feval(x1);
x2=x2-(x2-x1)^2/(x2-2*x1+x0);
k=k+1;
x2=x0;end;
disp(x2);
if k==N,warning(迭代失败);end;
end
?
?
?
%迭代法diedai.m文件
function x=diedai(fname,x0,e,N)
if nargin5;N500;end;
if nargin4;e=1e-4;end;
x=x0;x0=x+2*e;e=1e-5;k=1;
while abs(x0-x)ekN;
x=feval(fname,x0);
k=k+1;
x0=x;
disp(x);
end
if k==N,warning(迭代失败);end
?
?
%二分法erfenfa.m
function x=erfenfa(fname,a,b,e)
y0=feval(fname,a);e=1e-5;
while (b-a)e
x=(a+b)/2;
y=feval(fname,x);
if y*y00
a=x;
else
b=x;
end
disp(x);
end
?
?%牛顿法
function x=newton(fname,dfname,x0,e,N)
if nargin5;N500;end;
if nargin4;e=1e-4;end;
x=x0;x0=x+2*e;k=0;
while abs(x0-x)ekN
k=k+1;
x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);
disp(x);
end
if k==N,warning(已达迭代次数上限);end
% format long; newton(inline(exp(x)-4*cos(x)),inline(exp(x)+4*sin(x)),pi/4,1e-4,20)
?
?
?
?
function t=Rombeg(fname,a,b,e)
%用途:龙贝格法求函数积分
%格式:t=Rombeg(fname,a,b,e) fname是被积函数,a,b分别为下上限,e为精度(默认1e-4)
if nargin4,e=1e-4;end;
i=1;j=1;h=b-a;
T(i,1)=h/2*(feval(fname,a)+feval(fname,b));
T(i+1,1)=T(i,1)/2+sum(feval(fname,a+h/2:h:1-h/2+0.001*h))*h/2;
T(i+1,j+1)=4^j*T(i+1,j)/(4^j-1)-T(i,j)/(4^j-1);
while abs(T(i+1,i+1)-T(i,i))e
i=i+1;h=h/2;
T(i+1,1)=T(i,1)/2+sum(feval(fname,a+h/2:h:1-h/2+0.001*h))*h/2;
for j=1:i
T(i+1,j+1)=4^j*T(i+1,j)/(4^j-1)-T(i,j)/(4^j-1);
end
end
T
t=T(i+1,j+1);
?
% format long;Rombeg(inline(sin(x)./x),eps,1,1e-6)
function x=gaussseidel(A,b,x0,e,N)
% 用途:用向量形式的gauss-seidel迭代解线性方程组Ax=b
if nargin5,N=500;end
x=x0;x0=x+2*e;
k=0;A1=tril(A);A2=inv(A1);
while norm(x0-x,inf)ekN,
k=k+1;
x0=x;x=-A2*(A-A1)*x0+A2*b;
disp(x)
end
if k==N,warning(已达到迭代次数上限);
end
x=gaussseidel(A,b,[1 1 1],1e-6)
?
?
function x=sor(A,b,omega,x0,e,N)
% 用途:用分量形式的sor迭代解线性方程组Ax=b
n=length(b);
if nargin6,N=500;end
x=x0;x0=x+2*e;
k=0;L=
文档评论(0)