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

1 Ansicht (letzte 30 Tage)
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!

Akzeptierte Antwort

Torsten
Torsten am 20 Aug. 2018
Add the line
ysol(1)
at the end of your code.
  3 Kommentare
Torsten
Torsten am 20 Aug. 2018
Bearbeitet: Torsten am 20 Aug. 2018
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 am 20 Aug. 2018
Bearbeitet: Ankit Gupta am 20 Aug. 2018
I beg your pardon, sir! I mean 1 deg input argument. Thank You sir!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Dimitris Kalogiros
Dimitris Kalogiros am 20 Aug. 2018
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 Kommentar
Ankit Gupta
Ankit Gupta am 20 Aug. 2018
Bearbeitet: Ankit Gupta am 20 Aug. 2018
Sir! I did that but I want Answer as 0.99. It is showing cos(3^(1/2)) with i deg input argument.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by