matlab作图,微分方程组,初值不为零

来源:百度知道 编辑:UC知道 时间:2024/05/30 13:36:28
方程组为
dx/dt=a*x+b*y+c*t
dy/dt=3*y-2*x
其中,参数a,b,c为任意给出的数值
初值为t=1时,x=0,y=2
作出想x(t)+t^2关于t的图形以及y关于x的图形
急切恳求高手给出具体程序
谢谢帮忙啊!!!
忘了说参数t的选择范围,需要画出t在0-2之间的图形,谢谢
感谢zt845的帮忙,不过您好像没有明白我的意思,我是想让图形作出后的效果是,在t=1时刻,x=0,y=2,而您的程序作出后的效果是,在t=0时刻,x=0,y=2。急需求助!

clear

clc

Tspan = [-1 1] %时间区间,前面为开始时间,后面为结束时间既然你初值是给在1时刻的,就把时间区间往左移1秒

x0 = [0 2]'    %初值

ode = @(t,x) fun(t,x,1,2,3)  %(t,x,1,2,3)后面的123分别为abc

[t,x] = ode45(ode,Tspan,x0)

plot(t+1,x(:,1),'r',t+1,x(:,2),'b')%画图的时候记得t+1吧时间轴移回来。

此部分存成*.m文件

———————————————————————————————————

function [dX] = fun (t,X,a,b,c)

         x = X(1),y = X(2)

         dx = a*x + b*y +c*(t+1) %上面移动过时间轴了,微分方程里也不要忘记啊,这个操作相当于变量代换。

         dy = 3*y - 2*x

         dX = [dx;dy]

end 

此部分存成fun.m

运行第一个文件就可以了。下图为0~2秒的试运行

matlab解微分方程组 这个微分方程组怎么用MATLAB解啊 怎样用matlab求解复杂的微分方程组 急求用matlab求解一阶偏微分方程组的程序! 利用MATLAB求常微分方程组 的特解 用MATLAB求解符号微分方程组(求大虾帮忙) 请教大家这个微分方程组用matlab应该怎么做? 用matlab 怎样求解复杂的微分方程组。 在matlab中求三元微分方程组的问题 用matlab解Lorenz微分方程组的问题