如何定义函数文件(精)课件.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多

如何定义函数文件[T,Y]=ode45(odefun,tspan,y0)[T,Y]=ode23(odefun,tspan,y0)odefunode45、ode23能那么odefun当是函数解什么样的ODE?o就de是fun?向量时呢?微分方程组

如何定义函数文件[T,Y]=ode45(odefun,tspan,y0)[T,Y]=ode23(odefun,tspan,y0)ode45、ode23等函数可用于求解显式常微分方程当是向量函数时,所对应的方程即为微分方程组odefun

举例说明odefun为方程右端项f(t,y)ü可以用inline定义(只适合于单个方程的情形)ü通过函数文件定义,然后用函数句柄调用(适合所有情形)例:求初值问题的数值解。解法一:使用inline定义微分方程odefunfun=inline(-2*y+2*x^2+2*x,x,y);[x,y]=ode23(fun,[0,0.5],1);注:自变量必须在前面,因变量在后面!

举例说明(单个方程)解法二:通过函数文件定义微分方程odefun1、先编写函数文件myfun1.mfunctiondy=myfun1(x,y)dy=-2*y+2*x^2+2*x;2、编写主文件main1.mclear;[x,y]=ode23(@myfun1,[0,0.5],1);或直接在Matlab命令窗口输入上面的语句。

举例说明(方程组)例:求,,的数值解。解:此时只能通过函数文件定义微分方程odefun1、先编写函数文件myfun2.mfunctiondy=myfun2(t,y)dy=zeros(3,1);%dymustbeacolumnvector!dy=[y(2)*y(3);-y(1)*y(3);...dy(1)=y(2)*y(3);-0.51*y(1)*y(2)];dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);2、编写主文件main2.mclear;[T,Y]=ode45(@myfun2,[0,12],[0,1,1]);

思考1、函数文件myfun2.mfunctiondy=myfun2(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);能不能写成下面形式?Xfunctiondy=myfun2(t,x,y,z)dy=zeros(3,1);dy(1)=y*z;dy(2)=-x*z;dy(3)=-0.51*x*y;

说明odefun变量属性必须一一对应!functiondy=myfun2(t,y)如果是常微分方程组,y就是列向量!dy必须是列向量,长度为方程组的个数,通常与y的长度相同!函数中的输入参数和输出参数是形参,名字可以任意取,但必须满足上述条件。即输入参数有两个,第一个表示自变量,第二个是由因变量组成的列向量,输出参数必须是列向量。

例例:解初值问题:,,1、函数文件myfun3.mfunctiondy=myfun3(t,y)dy=zeros(2,1);dy(1)=y(2)+t;dy(2)=t-2;functionout=myfun3(t,y)out=[y(2)+t;t–2];functionyprime=myfun3(x,y)yprime=[y(2)+x;x–2];2、主文件main3.mclear;[T,Y]=ode45(@myfun3,[0,10],[1,1]);

高阶常微分方程变量替换高阶常微分方程一阶常微分方程组化为例:VanderPol初值问题令,则原方程可化为参数怎么处理?用全局变量传递

参数传递1、函数文件verderpol.mfunctionxprime=verderpol(t,x)globalmu;xprime=[x(2);mu*(1-x(1)^2)*x(2)-x(1)];2、主文件vdp1.mclear;globalmu;y0=[1;0];mu=7;[t,x]=ode45(verderpol,[0,40],y0);%[t,x]=ode45(@verderpol,[0,40],y0);plot(t,x(:,1),r-,t,x(:,2),b-);

您可能关注的文档

文档评论(0)

美鑫可研报告 + 关注
官方认证
服务提供商

我们是专业写作机构,多年写作经验,专业代写撰写文章、演讲稿、文稿、文案、申请书、简历、协议、ppt、汇报、报告、方案、策划、征文、心得、工作总结代写代改写作服务。可行性研究报告,实施方案,商业计划书,社会稳定风险评估报告,社会稳定风险分析报告,成果鉴定,项目建议书,申请报告,技术报告,初步设计评估报告,可行性研究评估报告,资金申请报告,实施方案评估报告

认证主体成都慧辰星信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510104MA69XDD04C

1亿VIP精品文档

相关文档