导航:首页 > 编程语言 > sijie龙格库塔法matlab程序

sijie龙格库塔法matlab程序

发布时间:2023-03-12 03:34:01

1. 龙格库塔法matlab编程

用matlab的四、五阶龙格库塔方法(ode45)可以求得其数值解。设定其微分方程组的初始条件X(0)=0,S(0)=0。解决方法:

1、常微分方程组的自定义函数odefun(t,y),其主要内容

dy(1)=3*y(2)/(60+y(2))*y(1)-0.16*y(1);

dy(2)=4*250-4*y(2)-5*y(2)/(60+y(2))*y(1)-0.06*y(1);

2、t、y1、y2的求解

[t,y]=ode45(@odefun,[0 10],y0)

3、计算结果及t与S、X的关系图,S与X的关系图

2. 急求MATLAB编程源代码用四阶龙格库塔法解如下微分方程 y'=y-2x/y(0<x<1),y(0)=1,步长为h=0.2

%以下另存为文件myrk4.m
function[x,y]=myrk4(ufunc,y0,h,a,b)
%参数:函数名称,初始值向量,步长,时间起点,时间终点
n=floor((b-a)/h);%求步数
x(1)=a;%时间起点
y(:,1)=y0;%赋初值
%按龙格库塔方法进行求解
forii=1:n
x(ii+1)=x(ii)+h;
k1=ufunc(x(ii),y(:,ii));
k2=ufunc(x(ii)+h/2,y(:,ii)+h*k1/2);
k3=ufunc(x(ii)+h/2,y(:,ii)+h*k2/2);
k4=ufunc(x(ii)+h,y(:,ii)+h*k3);
y(:,ii+1)=y(:,ii)+h*(k1+2*k2+2*k3+k4)/6;
end


以下是主程序

%y'=y-2x/y(0<x<1),y(0)=1,步长为h=0.2
fun=inline('y-2*x/y');
[t1,f1]=myrk4(fun,1,0.2,0,1);%测试时改变test_fun的函数维数,别忘记改变初始值的维数
subplot(211);plot(t1,f1)%自编函数
title('自编函数求解结果')
%用系统自带函数ode45进行比较
[t,f]=ode45(fun,[01],1);
subplot(212);plot(t,f);title('ode45求解结果')

3. 四阶常微分龙格—库塔法求解常微分方程的初值问题。 Matlab程序算例:用标准4级4阶R-K法求解

clear,clc	%清除内存中的变量
%数值解
y=inline('x*exp(x)+2*x-1');
y(1)

%四阶龙格库塔法
y0=[-132];
[x1,y1]=ode45(@fun,[0,1],y0);
y1(end,1)%y(1)的值

functiondy=fun(x,y)
dy=zeros(3,1);
dy(1)=y(2);
dy(2)=y(3);
dy(3)=y(3)+y(2)-y(1)+2*x-3;

运行结果

ans =

3.7183

ans =

3.7183

阅读全文

与sijie龙格库塔法matlab程序相关的资料

热点内容
怎么把ps文件变成源文件 浏览:807
如何把图片放进这个文件夹 浏览:530
谁有qq认证图标复制 浏览:881
2014年web服务器测试工具 浏览:192
win7镜像文件怎么用 浏览:983
多数据can怎么发送 浏览:997
什么是夏威夷果种植技术app 浏览:160
上海学习编程哪个地方好 浏览:958
股票软件与交易编程软件哪个好 浏览:216
linux如何查看一个文件的位置 浏览:911
c头文件无法打开源文件stdafx 浏览:750
苹果x的桌面上可以建文件夹 浏览:368
ug8532位破解版安装教程 浏览:490
电脑网络如何重新驱动 浏览:125
win10连接服务器命令 浏览:228
卢克raid活动20升级卷 浏览:969
机票预订什么网站好 浏览:690
读写xml配置文件 浏览:153
java爬虫解析html 浏览:861
约瑟夫集合java 浏览:275

友情链接