
关于MATLAB中ode45求解微分方程的问题。
已知y=y(t),利用解题器求解y''-2y'+y=0,y(0)=0,y'(0)=1.有如下程序solver.mfunctiondy=solver(t,y)dy=[y(2...
已知y=y(t),利用解题器求解y''-2y'+y=0,y(0)=0,y'(0)=1.有如下程序
solver.m
function dy = solver( t, y )
dy=[y(2); 2*y(2)-y(1) ];
ode45.m
[t, y ] = ode45( 'solver‘,[0 10], [0 1] );
plot(t, y( :,1 ), '-',t, y( :, 2 ), '--', t, t.*exp(t),'*‘);
请问这个程序里的dy(solver.m中的那个dy=[y(2); 2*y(2)-y(1) ])是怎么根据已知条件写出的,没太看明白,请指教。 展开
solver.m
function dy = solver( t, y )
dy=[y(2); 2*y(2)-y(1) ];
ode45.m
[t, y ] = ode45( 'solver‘,[0 10], [0 1] );
plot(t, y( :,1 ), '-',t, y( :, 2 ), '--', t, t.*exp(t),'*‘);
请问这个程序里的dy(solver.m中的那个dy=[y(2); 2*y(2)-y(1) ])是怎么根据已知条件写出的,没太看明白,请指教。 展开
展开全部
对于二阶微分方程的数值解,y有两列
第一列是y(1),表示的是一阶微分方程的解,就是y
第二列是y(2),表示的是二阶微分方程的解,就是y的一阶导数,y'=dy/dt
而dy也有两行,
第一行是一阶微分方程,dy(1)/dt=y(2);
第二行是二阶微分方程, dy(2)/dt=2*y(2)-y(1)
第一列是y(1),表示的是一阶微分方程的解,就是y
第二列是y(2),表示的是二阶微分方程的解,就是y的一阶导数,y'=dy/dt
而dy也有两行,
第一行是一阶微分方程,dy(1)/dt=y(2);
第二行是二阶微分方程, dy(2)/dt=2*y(2)-y(1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询