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.

请先登录,再进行评论。

更多回答(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) )

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by