第7章计算方法的MATLAB实现讲稿

第7章计算方法的MATLAB实现讲稿

ID:40876002

大小:663.50 KB

页数:16页

时间:2019-08-09

第7章计算方法的MATLAB实现讲稿_第1页
第7章计算方法的MATLAB实现讲稿_第2页
第7章计算方法的MATLAB实现讲稿_第3页
第7章计算方法的MATLAB实现讲稿_第4页
第7章计算方法的MATLAB实现讲稿_第5页
资源描述:

《第7章计算方法的MATLAB实现讲稿》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章计算方法的MATLAB实现计算方法主要研究数学问题的数值解,涉及的内容广。利用MATLAB提供的部分函数解决,可以实现某些情况下的数值求解。本章作简要介绍。7.1一元非线性方程求解求解一元非线性方程的方法主要有二分法、割线法、牛顿法等。本节主要介绍两个可以求解一元非线性方程的函数,即fzero函数和roots函数。7.1.1fzero函数用fzero函数求一元非线性方程的零点。该函数的简单调用格式为:●x=fzero(fun,x0):如果x0为标量,则试图寻找函数fun在x0附近的零点。fun参数是一个M文件函数或匿名函数的函数

2、句柄。函数fzero返回的值x靠近fun函数改变符号的位置。如果搜索失败,则返回NaN。搜索区间扩展到发现inf、NaN或复数值时终止搜索。如果x0是一个长度为2的矢量,则fzero函数假设x0是一个区间,其中fun(x0(1))的符号与fun(x0(2))的不同。如果符号相同,则会出错。给出符号不同的区间可以保证fzero函数返回一个fun函数改变符号的位置附近的值。●[x,fval]=fzero(…):返回解x和解x处目标函数fun的值。●[x,fval,exitflag]=fzero(…):还返回一个exitflag值,描述fz

3、ero函数的退出条件。返回值及其描述如下所示:>0,表示函数找到了零值点x;0,表示没有发现零值点。例7-1 求方程的解。程序:f=@(x)(x+20)*(x+1)*(x-5)*(x-30);%匿名函数x1=fzero(f,-50)%解一元非线性方程x2=fzero(f,1)x3=fzero(f,6)x4=fzero(f,50)运行结果:x1=-20x2=-1-16-x3=5x4=307.1.2roots函数用roots函数计算多项式的根,该函数的调用格式为:●r=roots(c):返回一个列矢量,其元素为多项式c的解。例7-2 求多

4、项式方程的解。程序:P=[1-51-5];%表示多项式r=roots(P)%求多项式方程的解P1=poly(r)%由多项式的根返回多项式的系数运行结果:r=5.0000-0.0000+1.0000i-0.0000-1.0000iP1=1.0000-5.00001.0000-5.0000注意:poly和roots互为逆函数,函数poly返回多项式的系数。7.2线性方程组的数值解法用MATLAB求解线性方程组的解,在6.3中已介绍了基于矩阵变换的直接解法,除此方法之外,还有很多方法,比如,Jocabi迭代法、Gauss-Seidel迭代法

5、和SOR(超松驰)迭代法等,这里不作详细介绍。可参阅有关文献。7.3非线性方程组的数值解法实际工程中得到的数学模型往往具有非线性的特点,得到其解析解比较困难。一般采用迭代法求解非线性方程组。比较常见的迭代方法有不动点迭代法、Newton迭代法和拟Newton迭代法等几种。本节仅介绍不动点迭代法。设含有个未知数和个方程的非线性方程组记为:,然后把上述方程组改写为便于迭代的等价形式:,由此得出不动点迭代法的迭代公式:。-16-如果得到的序列满足,则就是的不动点。这样就可以求出线性方程组的解(近似解)。据此,编写不动点迭代法的M文件(文件名

6、为example7_3b.m):functions=example7_3b(x,eps)%不动点迭代法求非线性方程组的解%x为迭代初值,eps为允许误差值。ifnargin==1eps=1e-6;elseifnargin<1errorreturnendx1=example7_3a(x);%第一次迭代,example7_3a是函数的文件名。whilenorm(x1-x)>=epsx=x1;x1=example7_3a(x);%循环迭代ends=x1;return例7-3 用不动点迭代法求方程组的解。解:变形为函数代码(M文件名为exam

7、ple7_3a.m):functiony=example7_3a(x)y(1)=(x(1)*x(1)+x(2)*x(2)+9)/(-11);y(2)=(x(1)*x(2)*x(2)+x(1)+8)/6;调用函数函数格式:s=example7_3b([0,0])运行结果:s=-1.00001.00007.4插值插值计算在数据拟合和数据平滑等方面应用普遍。MATLAB-16-提供了用最近邻插值、线性插值、三次样条插值、三次插值和FFT插值法进行一维、二维、三维和高维插值的函数。7.4.1一维插值MATLAB中有两种一维插值,即多项式插值和

8、基于FFT的插值。⒈多项式插值函数interp1进行一维插值。一维插值是进行数据分析和曲线拟合的重要手段。interp1函数使用多项式技术,用多项式函数拟合所提供的数据,并计算目标插值点上的插值函数值,其最常用的语法形式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。