欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    二阶非线性常微分方程的打靶法matlab实现.docx

    • 资源ID:3235797       资源大小:37.19KB        全文页数:3页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    二阶非线性常微分方程的打靶法matlab实现.docx

    二阶非线性常微分方程的打靶法matlab实现二阶非线性常微分方程的打靶法 1.问题: 试用打靶法求二阶非线性常微分方程亮点边值的数值解: 要求用Matlab 编程计算,请给出一些例子,验证你的算法与程序的正确性。 2.打靶法分析: 非线性打靶法: 非线性打靶法的基本原理是将两点边值问题(1)转化为下面形式的初值问题 令z = y ,将上述二阶方程降为一阶方程组 3.Matlab 源代码: 创建M 文件: function ys=dbf(f,a,b,alfa,beta,h,eps) ff=(x,y)y(2),f(y(1),y(2),x); xvalue=a:h:b;%x取值范围 n=length(xvalue) s0=a-0.01;%选取适当的s的初值 x0=alfa,s0;%迭代初值 flag=0;%用于判断精度 y0=rk4(ff,a,x0,h,a,b); if abs(y0(1,n)-beta)<=eps flag=1; y1=y0; else s1=s0+1; x0=alfa,s1; y1=rk4(ff,a,x0,h,a,b); if abs(y1(1,n)-beta)<=eps flag=1; end end if flag=1 while abs(y1(1,n)-beta)>eps s2=s1-(y1(1,n)-beta)*(s1-s0)/(y1(1,n)-y0(1,n); x0=alfa,s2; y2=rk4(ff,a,x0,h,a,b); s0=s1; s1=s2; y0=y1; y1=y2; end end xvalue=a:h:b; yvalue=y1(1,:); ys=xvalue',yvalue' function x=rk4(f,t0,x0,h,a,b)%rung-kuta法求每个点的近似值 t=a:h:b;%迭代区间 m=length(t);%区间长度 t(1)=t0; x(:,1)=x0;%迭代初值 for i=1:m-1 L1=f(t(i),x(:,i); L2=f(t(i)+h/2,x(:,i)'+(h/2)*L1); L3=f(t(i)+h/2,x(:,i)'+(h/2)*L2); L4=f(t(i)+h,x(:,i)'+h*L3); x(:,i+1)=x(:,i)'+(h/6)*(L1+2*L2+2*L3+L4); end 4.举例 求二阶非线性方程的边值问题: 在matlab 控制台中输入: f=(x,y,z)(x2+z*x2); x0l=0; x0u=2*exp(-1); alfa=0; beta=2; h=0.01 dbf(f,x0l,x0u,y0l,y0u,h,1e-6); >> y=ans(:,2); x=ans(:,1); >> plot(x,y,'-r') >> 结果: 再输入: >> m=0:0.01:2; >> n=m.*exp(-1/2*m); >> plot(n,m) >> plot(x,y,'-r',n,m,'-b') 5.结论: 根据得到的图像,可以看到在x 的初值一起末值也就是 和 两点做到了较好的逼近, 但是中间部分的逼近不是很理想。我想可能是在编程的过程当中可能算法上有些问题。以后 有机会再改进。

    注意事项

    本文(二阶非线性常微分方程的打靶法matlab实现.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开