matlab龙格库塔法解微分方程 50

已知描述某动态电路的微分方程为10x′′−7x′+4x=10sin(t),初始条件为x(0)=4,x′(0)=9,求x(t)在区间[5,10]的数值解,并画出... 已知描述某动态电路的微分方程为10x′′ − 7x′ + 4x =10sin(t),初始
条件为x(0) = 4,x′(0) = 9,求x(t)在区间[5,10]的数值解,并画出
x(t)、x′(t)的图形。
微分方程求解采用以下方法:
1、龙格-库塔算法;
2、采用simulink 进行仿真实现(采用Sine wave、Derivative 模板等)。
课题要求:
1、对比上述方法的结果。
2、自己编写实现龙格-库塔算法。
展开
 我来答
小希th40
推荐于2016-08-15 · TA获得超过128个赞
知道答主
回答量:190
采纳率:100%
帮助的人:50.1万
展开全部
function [Y] = RK45(t,X,f,h)
K1=f(t,X);
K2=f(t+h/2,X+h/2*K1);
K3=f(t+h/2,X+h/2*K2);
K4=f(t+h,X+h*K3);
Y=X+h/6*(K1+2*K2+2*K3+K4);
end
以上是4阶龙格库塔法的代码:
自己写函数,存为f.m
function dxdt = f (t,x)
dxdt(1)=exp(x(1)*sin(t))+x(2);
dxdt(2)=exp(x(2)*cos(t))+x(1); % x(1)是你的f,x(2)是你的g
dxdt=dxdt(:);
end

自己给出t0,x0,h的值(初始时间,初值,步长)
如果求t0到t1的轨迹的话:给个例子如下

t0=0;t1=5;h=0.02;x0=[-1;-1];
T=t0:h:t1;X=zeros(length(x0),length(T));X(:,1)=x0;
for j=1:length(T)-1
X(:,j+1)=RK45(T(j),X(:,j),@(t,x) f(t,x),h);
end
plot(T,X(1,:));
hold on;
plot(T,X(2,:),'r');
具体参数自己设置
追问
步长怎么计算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TableDI
2024-07-18 广告
仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击16步自动完成表格匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式