dsolve error (simultaneous differential equations)

1 view (last 30 days)
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?

Accepted Answer

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 18 May 2020
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 Comments
Sulaymon Eshkabilov
Sulaymon Eshkabilov on 18 May 2020
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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!