matlab里面Conversion to double from sym is not possible.怎么回事啊?求大神y=dsolve('D2y+y=sin(t) * cos(30)','t') plot(y)结果提示Conversion to double from sym is not possible. 这是怎么回事 求大神
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/07 12:19:53
matlab里面Conversion to double from sym is not possible.怎么回事啊?求大神y=dsolve('D2y+y=sin(t) * cos(30)','t') plot(y)结果提示Conversion to double from sym is not possible. 这是怎么回事 求大神
matlab里面Conversion to double from sym is not possible.怎么回事啊?求大神
y=dsolve('D2y+y=sin(t) * cos(30)','t')
plot(y)
结果提示Conversion to double from sym is not possible.
这是怎么回事 求大神
matlab里面Conversion to double from sym is not possible.怎么回事啊?求大神y=dsolve('D2y+y=sin(t) * cos(30)','t') plot(y)结果提示Conversion to double from sym is not possible. 这是怎么回事 求大神
1、出错的原因是,使用dsolve求解微分方程,得到的是解析解,具体形式为一个符号表达式,不能直接用plot画图.
2、按你现在的写法,没有指定初始条件,得到的结果里面有C1、C2这样的常数,是无法绘图的.应按照类似下面的方式指定初值:
y=dsolve('D2y+y=sin(t) * cos(30)','y(0)=1,Dy(0)=2','t')其中的'y(0)=1,Dy(0)=2'分别指定y和y'在t=0时刻的值.
3、指定初值之后求解微分方程,得到的结果可以先指定t为一个时间向量,然后用subs代入t,然后用plot绘图.更简单的做法是用ezplot函数:
ezplot(y,[0 10])其中[0 10]为指定的时间范围,可根据需要自行修改.