I've just started learning matlab and I am trying to solve this differential equation

1 回表示 (過去 30 日間)
I am new to MATLAB and I was trying to solve this differential equation and got the end result
syms y(x)
dy=diff(y);
ode= diff(y,x,2)+3*y==0;
cond1= y(0)==1;
cond2= dy(0)==0;
ysol(x)= dsolve(ode,cond1,cond2)
ysol(x) =
cos(3^(1/2)*x)
now if I want to solve y(1)=? in terms of y(1)=0.99 not cos(3^(1/2)) with 1 deg input argument. how should I do that? Thank you!

採用された回答

Torsten
Torsten 2018 年 8 月 20 日
Add the line
ysol(1)
at the end of your code.
  3 件のコメント
Torsten
Torsten 2018 年 8 月 20 日
編集済み: Torsten 2018 年 8 月 20 日
cos(sqrt(3)) is not 0.99.
Or do you mean 1 deg instead of 1 rad as input argument ?
Use double(ysol(1)) or double(ysol(pi/180)) depending on whether you mean 1 rad or 1 deg.
Ankit Gupta
Ankit Gupta 2018 年 8 月 20 日
編集済み: Ankit Gupta 2018 年 8 月 20 日
I beg your pardon, sir! I mean 1 deg input argument. Thank You sir!

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

その他の回答 (1 件)

Dimitris Kalogiros
Dimitris Kalogiros 2018 年 8 月 20 日
you can access the value of y(1) by writting .... y(1)
syms y(x)
%dy=diff(y)
ode= diff(y,x,2)+3*y==0
cond1= y(0)==1
cond2= dy(0)==0
ysol(x)= dsolve(ode,cond1,cond2)
%--------------------------------
% just displaying value of y(1)
disp( ysol(1) )
  1 件のコメント
Ankit Gupta
Ankit Gupta 2018 年 8 月 20 日
編集済み: Ankit Gupta 2018 年 8 月 20 日
Sir! I did that but I want Answer as 0.99. It is showing cos(3^(1/2)) with i deg input argument.

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

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by