| 查看: 1974 | 回复: 7 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
longwen8木虫 (文坛精英)
|
[求助]
微分方程组的四阶龙格库塔公式求解matlab版 已有1人参与
|
|
|
微分方程组的四阶龙格库塔公式,求解matlab版的代码。下面是我的代码,运行不出来。 function varargout=rungekutta(varargin) clc,clear x0=0;xn=1.0;y0=1;h=0.05;%h为步长 [y,x]=rungekutta4(x0,xn,y0,h); Function z=f(x,y); z=y-2*x/y; function [y,x]=rungekutta4(x0,xn,y0,h) x=x0:h:xn; n=(xn-x0)/h; y1=x; y1(1)=y0; for i=1:n %龙格库塔法的算法 K1=f(x(i),y1(i)); K2=f(x(i)+h/2,y1(i)+h/2*K1); K3= f(x(i)+h/2,y1(i)+h/2*K2); K4= f(x(i)+h,y1(i)+h*K3); y1(i+1)=y1(i)+h/6*(K1+2*K2+2*K3+K4); yy1(i)=(1+2*x(i+1)) ^0.5; error(i)=y1(i+1)-yy1(i); yy(i+1)=yy1(i); e(i+1)=error(i); end y=y1; n=(xn-x0)/h; fprintf(‘i x(i) yi数值解 y(i)真值 误差\n’); fprintf(‘-------------------------------------------------------------\n’); for i=1:n fprintf(‘%2d %12.4f %14.8f %14.8f %12.8f\n’,i, x(i+1), y(i+1), yy(i+1), error(i)); end plot(x,e,‘r.’);%画出误差曲线 xlable(‘x轴’),ylable(‘误差’); title(‘步长为0.05时的误差曲线’); |
» 猜你喜欢
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有272人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有1人回复
投稿chemical physical letters不送审?
已经有2人回复
南开大学物理学院张书辉副教授招收凝聚态物理理论方向博士生、硕士生
已经有20人回复
杂志要求提供official language-editing certificate
已经有2人回复
longwen8
木虫 (文坛精英)
- 应助: 0 (幼儿园)
- 金币: 5385.8
- 散金: 13079
- 红花: 48
- 沙发: 83
- 帖子: 10804
- 在线: 1496.5小时
- 虫号: 4254310
- 注册: 2015-11-29
- 性别: GG
- 专业: 环境工程
3楼2020-12-18 19:43:08
hzlhm
至尊木虫 (著名写手)
- 应助: 387 (硕士)
- 金币: 17800.5
- 红花: 53
- 帖子: 2879
- 在线: 605.9小时
- 虫号: 1517335
- 注册: 2011-11-30
- 性别: GG
- 专业: 常微分方程与动力系统
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
独孤神宇: 金币+5, 鼓励交流 2020-12-18 19:25:10
longwen8: 金币+20, ★★★★★最佳答案 2020-12-18 19:42:37
独孤神宇: 金币+5, 鼓励交流 2020-12-18 19:25:10
longwen8: 金币+20, ★★★★★最佳答案 2020-12-18 19:42:37
|
一、几个自定义函数位置错误。应为这样放置 1、主程序 , function rungekutta() clc,clear x0=0;xn=1.0;y0=1;h=0.05;%h为步长 [y,x]=rungekutta4(x0,xn,y0,h); end 2、 四阶龙格库塔函数程序 function [y,x]=rungekutta4(x0,xn,y0,h) 。。。 end 3、z函数程序 function z=f(x,y); z=y-2*x/y; end 二、xlable(‘x轴’),ylable(‘误差’);这句代码中函数书写错误。应为 xlabel('x轴'),ylabel('误差'); 三、修改后运行得到如下结果 |

2楼2020-12-18 18:12:48
hzlhm
至尊木虫 (著名写手)
- 应助: 387 (硕士)
- 金币: 17800.5
- 红花: 53
- 帖子: 2879
- 在线: 605.9小时
- 虫号: 1517335
- 注册: 2011-11-30
- 性别: GG
- 专业: 常微分方程与动力系统
|
运行结果: i x(i) yi数值解 y(i)真值 误差 ------------------------------------------------------------- 1 0.0500 1.04880886 1.04880885 0.00000001 2 0.1000 1.09544514 1.09544512 0.00000002 3 0.1500 1.14017546 1.14017543 0.00000004 4 0.2000 1.18321600 1.18321596 0.00000005 5 0.2500 1.22474493 1.22474487 0.00000006 6 0.3000 1.26491113 1.26491106 0.00000007 7 0.3500 1.30384056 1.30384048 0.00000008 8 0.4000 1.34164088 1.34164079 0.00000009 9 0.4500 1.37840498 1.37840488 0.00000011 10 0.5000 1.41421368 1.41421356 0.00000012 11 0.5500 1.44913781 1.44913767 0.00000014 12 0.6000 1.48323985 1.48323970 0.00000015 13 0.6500 1.51657526 1.51657509 0.00000017 14 0.7000 1.54919353 1.54919334 0.00000019 15 0.7500 1.58113904 1.58113883 0.00000021 16 0.8000 1.61245178 1.61245155 0.00000023 17 0.8500 1.64316793 1.64316767 0.00000026 18 0.9000 1.67332034 1.67332005 0.00000028 19 0.9500 1.70293895 1.70293864 0.00000031 20 1.0000 1.73205115 1.73205081 0.00000034 图像上传不上来。 |

4楼2020-12-18 22:02:15
longwen8
木虫 (文坛精英)
- 应助: 0 (幼儿园)
- 金币: 5385.8
- 散金: 13079
- 红花: 48
- 沙发: 83
- 帖子: 10804
- 在线: 1496.5小时
- 虫号: 4254310
- 注册: 2015-11-29
- 性别: GG
- 专业: 环境工程
5楼2020-12-19 00:00:51













回复此楼