dsolve error (simultaneous differential equations)

1 次查看(过去 30 天)
clear all
close
clc
m = 10;
k = 1000;
u0 = 0.01;
syms y1 y2
f=dsolve('m*D2y1+2*k*y1-k*y2==0,m*D2y2-k*y1+2k*y2==0','y1(0)==0,Dy1(0)==0,Dy2(0)==0,y2(0)==0.01');
figure
ezplot(f,[0 100]);
I want to solve simultaneous differential equation but i have a problem solving it.
Can someone help me find whats causing error?

采纳的回答

Sulaymon Eshkabilov
Here is the answer:
clear all
close
clc
m = 10;
k = 1000;
u0 = 0.01;
syms y1(t) y2(t)
Dy1=diff(y1);
Dy2=diff(y2);
D2y1=diff(y1, 2);
D2y2=diff(y2, 2);
Eqn1=m*D2y1+2*k*y1-k*y2;
Eqn2=m*D2y2-k*y1+2*k*y2;
ICs=[y1(0)==0,Dy1(0)==0,Dy2(0)==0,y2(0)==0.01];
f=dsolve(Eqn1,Eqn2, ICs);
figure
ezplot(f.y1,[0 100]), hold on
ezplot(f.y2, [0, 100]), legend('y_1(t)', 'y_2(t)', 'location', 'best')
  3 个评论
Sulaymon Eshkabilov
There two different ways of expressing ODE expressions. This is one of them and is the logically structured one. The other one is direct that you define your variable without specifying to differentuiate it w.r.t what variable that may create a problem in cases when there is an obscurity with the existing variables in your MATLAB workspace.
Good luck

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Equation Solving 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by