matlab中的diff函数

S1=6*t^3-4*x^2+b*x-5;diff(S1,1);这个程序出来的怎么不是ans=18*t^2-8*x+b呢?我的结果是:ans=-1278-26-43-67... S1=6*t^3-4*x^2+b*x-5;diff(S1,1);
这个程序出来的怎么不是ans=18*t^2-8*x+b呢?
我的结果是:ans=-12 78 -26 -43 -6 7 -10 78 -26 -44 -7 55 -56 78 -75 8
教程上是上面的那个求导后结果的啊,为什么出来下面的一行向量呢?
展开
 我来答
taosh19
推荐于2017-10-06
知道答主
回答量:75
采纳率:0%
帮助的人:29万
展开全部
楼主,您好;
1、最高项是6*x^3,而非6*t^3吧?
2、我是这样运行的,可以得到你想要的结果:
>> syms x b
>> S1=6*x^3-4*x^2+b*x-5;
>> diff(S1,1);
>> diff(S1,1)

ans =

18*x^2-8*x+b

>> syms x b
>> S1=6*x^3-4*x^2+b*x-5;
>> diff(S1,1)

ans =

18*x^2-8*x+b

3、diff有2个用途:求向量相邻间元素的差 和 求导;
你得到的结果是误让系统执行了前者;
而且,注意到:
>> '*' - '6'

ans =

-12
这就是第1个数为什么是-12,之后的就不用再讲了。
暗影之王01
推荐于2017-10-06 · TA获得超过5.6万个赞
知道大有可为答主
回答量:2万
采纳率:29%
帮助的人:4666万
展开全部
  1. 在matlab中,diff函数用于求导数或者向量和矩阵的比较。在matlab的命令窗口中输入doc diff或者help diff即可获得该函数的帮助信息。

  2. 调用格式及说明:

  Y = diff(X)

  这里求函数X的一阶导数

  Y = diff(X,n)

  求函数X的n阶导数

  Y = diff(X,dim)

  求函数X关于变量dim的偏导数

  Y = diff(X,n,dim)

  求函数X关于dim的n阶偏导数

  若X为向量,

  Y = diff(X)= [X(2)-X(1),X(3)-X(2),...,X(n)-X(n-1)]

  求前后两项之差

  若X为矩阵,

  Y = diff(X)= [X(2:n,:) - X(1:n-1,:)]

  求每列前后两项之差

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晏漾漾达农
2020-01-06 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:25%
帮助的人:736万
展开全部
如果你的函数是解析表达式,可以借助于符号运算求导数,求出导数之后再转换回inline函数。
示例:
>> fun=inline('sin(x^2)*cos(y^3)')
fun =
inline function:
fun(x,y) = sin(x^2)*cos(y^3)
>> dfun=inline(char(diff(char(fun))))
dfun =
inline function:
dfun(x,y) = 2*cos(x^2)*x*cos(y^3)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱画画的高达cP
2010-07-06 · 超过20用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:0
展开全部
晕,这是系数啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式