《matlab 龙格库塔法 变步长龙格库塔法》由会员分享,可在线阅读,更多相关《matlab 龙格库塔法 变步长龙格库塔法(7页珍藏版)》请在金锄头文库上搜索。

1、河北科技大学硕士学位研究生20122013 学年第二学期Matlab 语言及应用结课论文学 院: 信息科学与工程学院专 业: 电 路 与 系 统姓 名: 张 利 超学 号: S2012014011经典龙格库塔法及变步长龙格库塔法1.经典龙格库塔法及变步长龙格库塔法 matlab 代码a.经典龙格库塔法文件: Rungkutta4.mfunction R=Rungkutta4(f,a,b,N,ya)h = (b-a)/N;x = zeros(1,N+1);y = zeros(1,N+1);x = a:h:b;y(1) = ya;for i+1:Nk1 = feval(f,x(i),y(i); k。

2、2 = feval(f,x(i)+h/2,y(i)+(h/2)*k1); k3 = feval(f,x(i)+h/2,y(i)+(h/2)*k2); k4 = feval(f,x(i)+h,y(i)+h*k3); y(i+1) = y(i)+(h/6)*(k1+2*k2+2*k3+k4);endb.变步长龙格库塔法文件:change_step_RK .mfunction change_step_RK(fun); p21=2p-1; while x(end)AbsTol; x1=x2; y1=y2; h=h/2; x2,y2=RK_f(fun,x(n),y(n),h/2); end end xa。

3、,ya=RK_f(fun,h,x(n),y(n); x(n+1)=xa; y(n+1)=ya; n=n+1; end plot(x,y,k); function xa,ya=RK_f(fun,h,x,y); k1=fun(x,y); k2=fun(x+h/2,y+h*k1/2); k3=fun(x+h/2,y+h*k2/2); k4=fun(x+h,y+h*k3); xa=x+h; ya=y+h*(k1+k2*2+2*k3+k4)/6; 2.利用两种方法求解初值问题0AbsTol; x1=x2; y1=y2; h=h/2; x2,y2=RK_f(fun,x(n),y(n),h/2); end 。

4、end xa,ya=RK_f(fun,h,x(n),y(n); x(n+1)=xa; y(n+1)=ya; n=n+1; end fprintf( i x(i) y(i)n); for i=1:n fprintf(%2d %4.6f %4.6fn,i,x(i),y(i); end plot(x,y,r)function xa,ya=RK_f(fun,h,x,y) k1=fun(x,y); k2=fun(x+h/2,y+h*k1/2); k3=fun(x+h/2,y+h*k2/2); k4=fun(x+h,y+h*k3); xa=x+h; ya=y+h*(k1+k2*2+2*k3+k4)/6; 。

5、运行结果i x(i) y(i)1 0.000000 0.0000002 0.002500 0.0025033 0.007500 0.007528 4 0.010000 0.0100505 0.015000 0.0151126 0.017500 0.0176537 0.022500 0.0227538 0.025000 0.0253129 0.030000 0.03045010 0.032500 0.03302811 0.037500 0.03820312 0.040000 0.04080013 0.045000 0.04601214 0.047500 0.04862815 0.052500 0。

6、.05387816 0.055000 0.05651217 0.060000 0.06179918 0.062500 0.06445219 0.067500 0.06977720 0.070000 0.0724493.结论从运行结果来看,变步长龙格库塔法产生的误差|y(i+1)-y(i)| 比经典龙格库塔法的小,但是运算量比较大。单从每一步看,步长越小,截断误差就越小,但随着步长的缩小,在一定求解范围内所要完成的步数就增加了. 步数的增加不但引起计算量的增大,而且可能导致舍入误差的严重积累,经过推算得以验证。经典的四阶龙格-库塔公式从节点 出发,先以 h 为步长求出一个近似值 ,nx hny1。

7、由于公式的局部截断误差为 ,故有5o然后将步长折半,即取 为步长从 跨两步到 ,再求得一个近似值 ,2hnx1n 21hny每跨一步的截断误差是 ,因此有5o比较(3.14)式和(3.15)式我们看到,步长折半后,误差大约减少到 ,既有16由此易得下列事后估计式 .15)( )(1)2(1)2(1 hnhnhnn yyxy 这样,可以通过检查步长,折半前后两次计算结果的偏差来判定所选的步长是否合适. 具体地说,将区分以下两种情况处理:1. 对于给定的精度 ,如果 ,反复将步长折半进行计算,直至 为止.这时取最终得到的 作为结果; 21hny2. 如果 ,反复将步长加倍,直到 为止,这时再将步长折半一次,就得到所要的结果.表面上看,为了选择步长,每一步的计算量增加了,但总体考虑往往是合算的. 。

matlab变步长龙格库塔法,matlab 龙格库塔法 变步长龙格库塔法相关推荐

  1. 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc

    河北科技大学硕士学位研究生 2012--2013学年第二学期 <Matlab语言及应用>结课论文 学 院: 信息科学与工程学院 专 业: 电路与系统 姓 名: 张利超 学 号: S2012 ...

  2. 变步长龙格库塔法matlab代码,matlab龙格库塔法变步长龙格库塔法.doc

    河北科技大学硕士学位研究生 2012--2013学年第二学期 <Matlab语言及应用>结课论文 学 院:信息科学与工程学院专 业:电路与系统姓 名:张利超学 号:S2012014011 ...

  3. matlab变步长龙格库塔法,matlab龙格库塔法变步长龙格库塔法.doc-资源下载在线文库www.lddoc.cn...

    matlab 龙格库塔法 变步长龙格库塔法.doc 河北科技大学硕士学位研究生20122013学年第二学期Matlab 语言及应用结课论文学 院 信息科学与工程学院专 业 电 路 与 系 统姓 名 张 ...

  4. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  5. matlab微分方程求法,matlab微分方程的求解的方法ppt课件

    <matlab微分方程的求解的方法ppt课件>由会员分享,可在线阅读,更多相关<matlab微分方程的求解的方法ppt课件(44页珍藏版)>请在人人文库网上搜索. 1.定义:含 ...

  6. matlab 广义积分,matlab求积分(超详细,含int integral integral2/3 quad trapz

    matlab求积分 matlab求积分函数工具: int 用法1: 格式: int(fun,x,a,b) 功能: 计算定积分 用法2: 格式: int(f,x) 功能: 计算不定积分 注: 使用int ...

  7. matlab 摄像头拍照,matlab摄像头拍照

    图像采集: 该单元是指道路上安装的摄像头在检测到有车辆通过的同时进行 拍照并...在 MATLAB 中我们可以调用 im2gray 函数对图像进行灰度化处理. 4.2.2图像的...... 2 车辆牌 ...

  8. 【 MATLAB 】使用 MATLAB 得到高密度谱(补零得到DFT)和高分辨率谱(获得更多的数据得到DFT)的方式对比(附MATLAB脚本)

    上篇博文分析了同一有限长序列在不同的N下的DFT之间的不同: MATLAB ]使用 MATLAB 作图讨论有限长序列的 N 点 DFT(强烈推荐)(含MATLAB脚本) 那篇博文中,我们通过补零的方式 ...

  9. 【 MATLAB 】使用 MATLAB 实现模拟信号的近似及其连续傅里叶变换

    严格来说,利用MATLAB是不可能用来分析模拟信号的.然而,如果有足够小的时间增量在足够细的栅格上对采样而产生一种平滑的图,并有足够大的时间来展示所有的模式,那么就能对模拟信号作近似分析.令是栅格间隔 ...

最新文章

  1. java代码讲解_Java基础系列-代码块详解
  2. 计算机网络-数据链路层
  3. C++字符串的格式化
  4. kibana操作elasticsearch:查看映射关系
  5. 为什么使用 Dubbo ? 微服务概述?传统应用的问题?
  6. 酷狗音乐、艺龙旅行等42款APP被曝违规收集用户信息
  7. MYSQL常用操作速查
  8. 「期末」微机原理复习速成(上)
  9. 模拟电路和数字电路区别
  10. Android集成谷歌定位sdk,Android 地图sdk,集成了百度、高德、谷歌三种地图
  11. 哪里买linux虚拟主机的,怎样购买虚拟主机
  12. Vue3.0中Watch的几个问题
  13. AI芯片独角兽寒武纪 - 诚聘虚拟化/深度学习框架/系统软件研发工程师
  14. 离散数学学习笔记(一)
  15. android listview 美化,Android界面美化 -- 自定义ListView分割线
  16. tyvj 2075 借教室 题解
  17. 基于 python 的单细胞转录因子分析
  18. 百度UEdit富文本编辑器的使用
  19. B2B网页付款时,出现“对不起,未检测到签名控件”,不能正常支付
  20. QN8035 FM收音机芯片 驱动程序

热门文章

  1. IT软件开发行业拓客的10个经典方法
  2. linux mp3 乱码,Linux 里 mp3 中文标签乱码的处理
  3. 计算一元一次方程Y=kX+b
  4. .obj是什么文件?
  5. 实时linux下的PCI驱动开发(上)
  6. java配置多环境_[原创]多版本Java环境变量的配置
  7. 【转载】基于ENVI bandmath的地表温度反演
  8. linux怎么装软件
  9. 管家婆软件登录提示:用户‘sa‘登录失败,原因:未与信任的SQL server相关联。
  10. 怎样测试java程序能否运行_(01-04)Java应用程序可以在(    )平台上直接运行、测试,该平台包括Java虚拟机(JVM)、Java核心类库和支持文件。...