matlab ode45解二阶常微分方程怎么把Y算出来

functionTestode45tspan=[03];%求解区间y0=[asin(1/3)0];%初值[t,x]=ode45(@odefun,tspan,y0);plo... function Testode45
tspan=[0 3]; %求解区间
y0=[asin(1/3) 0]; %初值
[t,x]=ode45(@odefun,tspan,y0);
plot(t,x(:,1),'-o',t,x(:,2),'-*')
function y=odefun(t,x)
y=zeros(2,1); % 列向量
y(1)=x(2);
y(2)=((30-1/sin(x(1)))*(1-(1.5+0.5/sin(x(1)))*x(2)*sin(x(1)))-9800*0.0025*0.1)/(0.5*(30-1/sin(x(1))));
end
end
这是别人给我的程序结果只有一阶和二阶的数值解,怎么把Y的图也画出来呢
展开
 我来答
匿名用户
推荐于2016-12-02
展开全部

你说的Y是什么概念?

程序中有绘图啊,那条蓝线就是y。

追问
这个过程中蓝线是Y对吗,那Y的二阶导要怎么画出来呢,多谢
追答

想要二阶导数恐怕只能再调用odefun重新计算一次了:

function Testode45
tspan=[0 3]; %求解区间
y0=[asin(1/3) 0]; %初值
[t,x]=ode45(@odefun,tspan,y0);
plot(t,x(:,1),'-o',t,x(:,2),'-*')
y = x*0;
for i=1:length(t)
    y(i,:) = odefun(t,x(i,:));
end
figure
plot(t,y(:,1),'-o',t,y(:,2),'-*')

图中蓝线是一阶导数,绿线是二阶导数。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式