作业帮 > 综合 > 作业

matlab里面Conversion to double from sym is not possible.怎么回事啊?

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/03 11:48:34
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.怎么回事啊?
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]为指定的时间范围,可根据需要自行修改.