- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序分析:humps函数是MATLAB提供的M文件,保存为humps.m文件;@humps表示humps函数的句柄,humps的函数最小值曲线如图5.10所示,最小值为图中的圆点(0.6370,11.2528),误差小于10?4。 2.fminsearch函数 fminsearch函数用于求多变量无束缚非线性最小值,采用Nelder-Mead单纯形算法求解多变量函数的最小值。 语法: x=fminsearch(h_fun,x0) x=fminsearch(funname,x0) 【例5.23】 求著名的Banana测试函数f(x,y)=100(y?x2)2+(1?x)2的最小值,它的理论最小值是x=1,y=1。该测试函数有一片浅谷,很多算法都难以逾越。 fn=inline(100*(x(2) ?x(1)^2)^2+(1?x(1))^2,x) %用inline产生内联函数,x和y用二元数组表示 fn= Inline function: fn(x)=100*(x(2) ?x(1)^2)^2+(1?x(1))^2 y=fminsearch(fn,[0.5, ?1]) %从(0.5,?1)为初始值开始搜索求最小值 y= 1.0000 1.0000 fzero函数可以寻找一维函数的零点,即求f(x)=0的根。 语法: x=fzero(h_fun,x0,tol,trace) x=fzero(funname,x0,tol,trace) 【例5.24】 求解humps函数的过零点,humps函数的过零点用圆点表示,如图5.11所示。 xzero=fzero(@humps,1) %求在1附近的零点 xzero= 1.2995 xzero=fzero(@humps,[0.5,1.5]) %求在0.5~1.5范围内的零点 xzero= 1.2995 xzero=fzero(@humps,[0.5,1]) %求在0.5~1范围内的零点 ???Errorusing==fzero The function valuesat the interval end points must differin sign. humps函数的过零点 语法: s=quad(h_fun,x1,x2,tol,trace,p1,p2, …) s=quad(funname,x1,x2,tol,trace,p1,p2, …) s=quad8(h_fun,x1,x2,tol,trace,p1,p2, …) s=quad8(funname,x1,x2,tol,trace,p1,p2, …) 【例5.25】 计算y=humps(x)曲线下面的面积。 x=0:0.01:1; y=humps(x); area=trapz(x,y) %用梯形计算积分 area= 29.8571 area1=quad(@humps,0,1) %用quad计算积分 area1= 29.8583 area2=quad8(@humps,0,1) %用quad8计算积分 area2= 29.8583 MATLAB提供了ode23、ode45和ode113等多个函数求解微分方程的数值解。以下介绍低维方法、高维方法和变维方法解一阶常微方程组。 语法: [t,y]=ode45(h_fun,tspan,y0,options,p1,p2…) [t,y]=ode45(funname,tspan,y0,options,p1,p2…) 【例5.26】 解经典的范德波尔(Van derPol)微分方程: (1)必须把高阶微分方程式变换成为一阶微分方程组。 令y1=x,y2=dx/dt,则将二阶微分方程变为一阶微分方程组: (2)编写1个函数vdpol.m文件,设定?=2,该函数返回上述导数值。输出结果由1个列向量yprime给出。y1和y2合并写成列向量y。 函数M文件vdpol.m: %范德波尔方程 functiony prime=vdpol(t,y) yprime=[y(2);2*(1?y(1)^2)*y(2) ?y(1)] (3)给定当前时间及y1和y2的初始值,解微分方程。 tspan=[0,30]; %起始值0和终止值30 y0=[1;0]; %初始值 [t,y]=ode45(@vdpol,tspan,y0); %解微分方程 y1=y(:,1); y2=y(:,2); figure(1) plot(t,y1,:b,t,y2,?r) %画微分方程解 figure(2) plot(y1,y2) %画相平面图 设y1为横坐标,y2为纵坐标,则画出相平面图如图5.12所示。 1.内联函数的创建 创建内联函数可以使用inline命令实现。
您可能关注的文档
最近下载
- 事业单位考试题库:城市居民委员会组织法考点、重点及试题答案-综合应用能力.docx VIP
- 网络安全等级保护.ppt VIP
- 新教材高中地理第三章环境与国家安全第四节环境保护与国家安全学案中图版选择性必修3.pdf VIP
- 2025年高考语文作文热点素材.docx VIP
- 2025年全国小学数学奥数竞赛.pdf VIP
- 材料试验机 材料试验机如何操作.docx VIP
- 含硫化氢天然气井公众危害程度分级方法 AQ 2017—2008.pdf VIP
- 第二章 匀变速直线运动的研究(大单元教学解读课件)高一物理(人教版必修第一册).ppt
- 2025年广播电视播音员主持人资格考试题库附答案.doc VIP
- 大楼结构加固施工方案.doc VIP
文档评论(0)