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
教程上是上面的那个求导后结果的啊,为什么出来下面的一行向量呢? 展开
这个程序出来的怎么不是ans=18*t^2-8*x+b呢?
我的结果是:ans=-12 78 -26 -43 -6 7 -10 78 -26 -44 -7 55 -56 78 -75 8
教程上是上面的那个求导后结果的啊,为什么出来下面的一行向量呢? 展开
4个回答
展开全部
楼主,您好;
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,之后的就不用再讲了。
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,之后的就不用再讲了。
展开全部
在matlab中,diff函数用于求导数或者向量和矩阵的比较。在matlab的命令窗口中输入doc diff或者help diff即可获得该函数的帮助信息。
调用格式及说明:
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,:)]
求每列前后两项之差
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的函数是解析表达式,可以借助于符号运算求导数,求出导数之后再转换回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)
示例:
>> 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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
晕,这是系数啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询