shremike 发表于 2010-2-4 13:08

用Matlab求导数的结果怎么不是表达式,而是数值呢?

求函数f(x)=sinaxcosbx的一阶导数
我输入:
syms x a b
daoshu=diff('sin(a*x)*cos(b*x)')

怎么出来的是数值啊
daoshu =

-10 5 -70 57 -55 78 -79 1 57 12 4 -75 58 -56 78 -79

本人初学,可能以前赋值给变量了,但不知道如何清除,clear命令不行。
哪个高手教教我呢

我在别人的机器上运算也是一样,得不到表达式。难道是盗版软件的问题?

[ 本帖最后由 ChaChing 于 2010-2-4 21:03 编辑 ]

ChaChing 发表于 2010-2-4 21:08

我的正常, 应与版权无关吧!

>> syms x a b
>> daoshu=diff('sin(a*x)*cos(b*x)')

daoshu =

a*cos(a*x)*cos(b*x) - b*sin(a*x)*sin(b*x)

使用which diff -all看看有无自定同名函数, 及有无此路径
C:\Program Files\MATLAB\R2009a\toolbox\symbolic\@sym\diff.m                     % sym method

[ 本帖最后由 ChaChing 于 2010-2-4 23:42 编辑 ]
页: [1]
查看完整版本: 用Matlab求导数的结果怎么不是表达式,而是数值呢?