matlab怎么实现分数阶微分方程

如题所述

第1个回答  2017-04-03
function Myexamp1
clear,clc,
tspan = [0 20]; % t 的取值范围
y0=[0;1]; % 初始值 y(t0) 和 y'(t0)
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4]);
[t,y] = ode45(@fun,tspan,y0 ,options);
plot(t,y(:,1),'-',t,y(:,2),'-.')
title('y''(t)= -3 cos(2t) +2sin(t)+ t-3.8')

function dy = fun(t,y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = -3-cos(2*t) + 2*sin(t)+t-3.8;本回答被提问者采纳
相似回答