怎样让MATLAB实现在函数某一点的微分?
在函数f(t1)的微分,这样求得Z1=[],那点错了
y=feval(f,t1);
z1=diff(y);
f=-(3-2*x.^2)*x;
>> diff(f)
ans =
[] 你这里用了点乘,表达示中的X应该先赋值;
x=0:0.1:1;
diff(-(3-2*x.^2).*x)
matlab没有直接提供 数值求导
在MATLAB中,没有直接提供求数值导数的函数,只有计算向前差分的函数diff,其调用格式为:DX=diff(X):计算向量X的向前差分,DX(i)=X(i+1)-X(i),i=1,2,…,n-1。
DX=diff(X,n):计算X的n阶向前差分。例如,diff(X,2)=diff(diff(X))。
DX=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(缺省状态),按列计算差分;dim=2,按行计算差分。
谢谢深蓝了,问题解决了。
在做数值求导时对diff的数值处理一下就可对数值求导了
diff的用法
页:
[1]