第二章非线性方程组()的数值解法.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章非线性方程组()的数值解法

2.1 方程(组)的根及其MATLAB命令 2.1.2 求解方程(组)的solve命令 求方程f(x)=q(x)的根可以用MATLAB命令: x=solve(方程f(x)=q(x),待求符号变量x) 求方程组fi(x1,…,xn)=qi(x1,…,xn) (i=1,2,…,n)的根可以用MATLAB命令: E1=sym(方程f1(x1,…,xn)=q1(x1,…,xn)); ……………………………………………………. En=sym(方程fn(x1,…,xn)=qn(x1,…,xn)); [x1,x2,…,xn]=solve(E1,E2,…,En, x1,…,xn) 2.1.4 求解方程(组)的fsolve命令 fsolve的调用格式: X=fsolve(F,X0) 2.2 搜索根的方法及其MATLAB程序 2.2.1 作图法及其MATLAB程序 作函数在区间 [a,b] 的图形的MATLAB程序一 x=a:h:b; % h是步长 y=f(x); plot(x,y) grid, gtext(y=f(x)) 说明:⑴ 此程序在MATLAB的工作区输入,运行后即可出现函数的图形.此图形与轴交点的横坐标即为所要求的根的近似值. ⑵ 区间[a,b] 的两个端点的距离 b-a 和步长h的绝对值越小,图形越精确. 作函数在区间 [a,b]上的图形的MATLAB程序二 将化为,其中是两个相等的简单函数. x=a:h:b; y1=h(x); y2=g(x); plot(x, y1, x, y2) grid,gtext( y1=h(x),y2=g(x)) 说明:此程序在MATLAB的工作区输入,运行后即可出现函数的图形.两图形交点的横坐标即为所要求的根的近似值. 2.2.2 逐步搜索法及其MATLAB程序 逐步搜索法的MATLAB主程序 function [k,r]=zhubuss(a,b,h,tol) % 输入的量--- a和b是闭区间[a,b]的左、右端点; %---h是步长; %---tol是预先给定的精度. % 运行后输出的量---k是搜索点的个数; % --- r是方程 在[a,b]上的实根的近似值,其精度是tol; X=a:h:b;Y=funs(X);n=(b-a)/h+1;m=0; X(n+1)=X(n);Y(n+1)=Y(n); for k=2:n X(k)=a+k*h;Y(k)=funs(X(k)); %程序中调用的funs.m为函数 sk=Y(k)*Y(k-1); if sk=0, m=m+1;r(m)=X(k); end xielv=(Y(k+1)-Y(k))*(Y(k)-Y(k-1)); if (abs(Y(k))tol)( xielv=0) m=m+1;r(m)=X(k); end end 例2.2.4 用逐步搜索法的MATLAB程序分别求方程和在区间上的根的近似值,要求精度是0.000 1. 解 将逐步搜索法的MATLAB程序保存名为zhubuss.m的M文件. 建立M文件funs.m function y=funs(x) y=2.*x.^3+2.*x.^2-3.*x-3 在MATLAB工作窗口输入如下程序 [k,r]=zhubuss(-2,2,0.001,0.0001) 运行后输出的结果 k =4001 r = -1.2240 -1.0000 -1.0000 -0.9990 1.2250 即搜索点的个数为k =4 001,其中有5个是方程的近似根,即r = -1.224 0,-1.000 0,-1.000 0,-0.999 0,1.225 0,其精度为0.000 1. 在程序中将y=2.*x.^3+2.*x.^2-3.*x-3用y=sin(cos(2.*x.^3)) 代替,可得到方程在区间上的根的近似值如下 r = -1.9190 -1.7640 -1.5770 -1.3300 -0.9220 0.9230 1.3310 1.5780 1.7650 1.9200 2.3 二分法及其MATLAB程序 二分法的MATLAB程序 二分法的MATLAB主程序 function [k,x,wuca,yx]=erfen(a,b,abtol) a(1)=a; b(1)=b; ya=fun(a(1)); yb=fun(b(1)); %程序中调用的fun.m 为函数 if ya* yb0, disp(注意:ya*yb0,请重新调整区间端点a和b.), return end max1=-1+ceil((log(b-a)- log(abto

文档评论(0)

yd327298 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档