24小时热门版块排行榜    

查看: 1495  |  回复: 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时的误差曲线’);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

引用回帖:
3楼: Originally posted by longwen8 at 2020-12-18 19:43:08
什么结果?大神。...

运行结果:
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
图像上传不上来。
QQ:2120156492
4楼2020-12-18 22:02:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
独孤神宇: 金币+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('误差');
三、修改后运行得到如下结果
QQ:2120156492
2楼2020-12-18 18:12:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

longwen8

木虫 (文坛精英)

引用回帖:
2楼: Originally posted by hzlhm at 2020-12-18 18:12:48
一、几个自定义函数位置错误。应为这样放置
1、主程序 ,
function rungekutta()
clc,clear
x0=0;xn=1.0;y0=1;h=0.05;%h为步长
=rungekutta4(x0,xn,y0,h);
end
2、 四阶龙格库塔函数程序
function =rungeku ...

什么结果?大神。
3楼2020-12-18 19:43:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

longwen8

木虫 (文坛精英)

引用回帖:
4楼: Originally posted by hzlhm at 2020-12-18 22:02:15
运行结果:
i       x(i)       yi数值解        y(i)真值      误差
-------------------------------------------------------------
1       0.0500     1.04880886     1.04880885   0.00000001
2      ...

这么多结果,选哪一个。还是这种运算,就没有尽头啊

发自小木虫Android客户端
5楼2020-12-19 00:00:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 帮帮我 +5 零差价 2024-09-19 5/250 2024-09-21 01:11 by ertwe1
[硕博家园] 感觉在瑞典不适合做科研 +11 毕生所学 2024-09-19 14/700 2024-09-21 01:04 by 褚师宣密
[基金申请] 有感于请专家指导申报书 +8 huitong441 2024-09-16 14/700 2024-09-20 21:32 by huitong441
[论文投稿] 文章改了几轮,该投稿了,选了几篇杂志发给导师 +5 evan0489 2024-09-19 6/300 2024-09-20 20:13 by lyd782
[考博] 2025申博 +3 yqrxxxl 2024-09-18 4/200 2024-09-20 19:49 by ZHI1009
[考博] 套磁信没有回复 +4 Wicoo 2024-09-18 5/250 2024-09-20 17:10 by No1Maxim
[找工作] 博士毕业16,两中两民; +5 hocoltyaya 2024-09-17 8/400 2024-09-20 16:51 by 93479180
[基金申请] 把我们学院院长狠批了一通 +53 sandru 2024-09-14 64/3200 2024-09-20 16:04 by 珍珠kk101
[考博] Aggregate +6 学员eIXAWl 2024-09-15 8/400 2024-09-20 12:46 by yifeng11
[博后之家] 北京科技大学 学历认证是否可在博士后入职半年内补交? +3 小孩子QZY 2024-09-18 3/150 2024-09-20 10:35 by 3001160025
[基金申请] 山东省自然科学基金有查到专家意见么 +12 乱码哈哈哈 2024-09-18 16/800 2024-09-20 10:30 by andywei1028
[基金申请] QB 倒计时 +8 sztai 2024-09-17 10/500 2024-09-20 09:42 by adventure
[论文投稿] Acs nano投稿 +4 一毫米www 2024-09-14 6/300 2024-09-19 22:14 by nic111
[基金申请] 这次基金我不中彻底不知道咋办了,青基最后一年,超级大放水,我师门的师弟都中了 5+11 ddkk3000 2024-09-14 32/1600 2024-09-19 22:04 by chemhua
[基金申请] 结项4年了,论文还能挂基金号吗 +10 xiandaiqi 2024-09-15 12/600 2024-09-19 22:00 by yuch
[论文投稿] 顶级水刊,几乎不拒稿的SCI! +4 a433587770 2024-09-18 4/200 2024-09-19 21:50 by ndyjjcb
[论文投稿] 有没有便宜一点的开源期刊 100+3 zhuzhuyaya 2024-09-19 4/200 2024-09-19 16:43 by 莱茵润色
[有机交流] 酰胺缩合反应 5+3 我努力三百 2024-09-14 3/150 2024-09-19 10:04 by czyzsu
[考博] 求助求助 15+3 恰的嘎嘣脆 2024-09-15 3/150 2024-09-19 09:20 by Kelaizhang
[论文投稿] 热加工工艺期刊投稿 6+5 skq1635 2024-09-14 6/300 2024-09-18 13:36 by 莱茵润色
信息提示
请填处理意见