资源描述:
《常用数值算法Matlab源码PDE见另贴》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档[原创]常用数值算法Matlab源码(PDE见另贴)【更新完成】 数值计算方法中的一些常用算法的Matlab源码,这些程序都是原创,传上来仅供大家参考,不足之处请大家指正,切勿用作商业用途……说明:这些程序都是脚本函数,不可直接运行,需要创建函数m文件,保存时文件名必须与函数名相同,懂一点儿Matlab的朋友应该知道。每个程序的说明里面都附了测试例子这些程序在Vista操作系统下,使用MatlabR2008b(7.7版本)编写1、Newdon迭代法求解非线性方程function[xkt]=NewdonToEquation(f,df,x0,
2、eps)%牛顿迭代法解线性方程%[xkt]=NewdonToEquation(f,df,x0,eps)%x:近似解%k:迭代次数%t:运算时间%f:原函数,定义为内联函数%Df:函数的倒数,定义为内联函数%x0:初始值%eps:误差限%%应用举例:%f=inline('x^3+4*x^2-10');%df=inline('3*x^2+8*x');%x=NewdonToEquation(f,df,1,0.5e-6)%[xk]=NewdonToEquation(f,df,1,0.5e-6)%[xkt]=NewdonToEquation(f,df,1,0.
3、5e-6)%函数的最后一个参数也可以不写。默认情况下,eps=0.5e-6%[xkt]=NewdonToEquation(f,df,1)ifnargin==3 eps=0.5e-6;endtic;k=0;while1 x=x0-f(x0)./df(x0); k=k+1;文案大全实用文档[原创]常用数值算法Matlab源码(PDE见另贴)【更新完成】 数值计算方法中的一些常用算法的Matlab源码,这些程序都是原创,传上来仅供大家参考,不足之处请大家指正,切勿用作商业用途……说明:这些程序都是脚本函数,不可直接运行,需要创建函数m文件,保存时
4、文件名必须与函数名相同,懂一点儿Matlab的朋友应该知道。每个程序的说明里面都附了测试例子这些程序在Vista操作系统下,使用MatlabR2008b(7.7版本)编写1、Newdon迭代法求解非线性方程function[xkt]=NewdonToEquation(f,df,x0,eps)%牛顿迭代法解线性方程%[xkt]=NewdonToEquation(f,df,x0,eps)%x:近似解%k:迭代次数%t:运算时间%f:原函数,定义为内联函数%Df:函数的倒数,定义为内联函数%x0:初始值%eps:误差限%%应用举例:%f=inline('x
5、^3+4*x^2-10');%df=inline('3*x^2+8*x');%x=NewdonToEquation(f,df,1,0.5e-6)%[xk]=NewdonToEquation(f,df,1,0.5e-6)%[xkt]=NewdonToEquation(f,df,1,0.5e-6)%函数的最后一个参数也可以不写。默认情况下,eps=0.5e-6%[xkt]=NewdonToEquation(f,df,1)ifnargin==3 eps=0.5e-6;endtic;k=0;while1 x=x0-f(x0)./df(x0); k=k+
6、1;文案大全实用文档 ifabs(x-x0)7、
8、k==30 break; end x0=x;endt=toc;ifk==30 disp('迭代次数太多。'); x='';end2、Newdon迭代法求解非线性方程组functiony=NewdonF(x)%牛顿迭代法解非线性方程组的测试函数%定义是必须定义为列向量y(1,1)=x(1).^2-10*x(1)+x(2).^2+8;y(2,1)=x(1).*x(2).^2+x(1)-10*x(2)+8;return;functiony=NewdonDF(x)%牛顿迭代法解非线性方
9、程组的测试函数的导数y(1,1)=2*x(1)-10;y(1,2)=2*x(2);y(2,1)=x(2).^+1;y(2,2)=2*x(1).*x(2)-10;return;以上两个函数仅供下面程序的测试function[xkt]=NewdonToEquations(f,df,x0,eps)%牛顿迭代法解非线性方程组%[xkt]=NewdonToEquations(f,df,x0,eps)文案大全实用文档%x:近似解%k:迭代次数%t:运算时间%f:方程组(事先定义)%df:方程组的导数(事先定义)%x0:初始值%eps:误差限%%说明:由于虚参f和
10、df的类型都是函数,使用前需要事先在当前目录下采用函数M文件定义% 另外在使用此函数求解非线性方程组时,