dsolve error (simultaneous differential equations)

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
Sulaymon Eshkabilov 2020 年 5 月 18 日

0 投票

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 件のコメント

Seungwon Lee
Seungwon Lee 2020 年 5 月 18 日
Thanks for the Answer.
Can you tell me when i should define differential equation as
Dy1=diff(y1);
Dy2=diff(y2);
D2y1=diff(y1, 2);
D2y2=diff(y2, 2);
as you mentioned?
Because sometimes it works eventhough i don't define like that.
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 5 月 18 日
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
Seungwon Lee
Seungwon Lee 2020 年 5 月 18 日
Thanks

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by