今天我们继续学习matlab中的应用微积分
求导(微分)
1、数值微分
n维向量x=(xi,x,… x)的差分定义为n-1维向量△x=(X2-X1,X3-X2,…,Xn- Xn-1)。
diff(x)
如果x是向量,返回向量x的差分如果x是矩阵,则按各列作差分。
diff(x,k)
k阶差分,即差分k次。
原理:
函数f(x)在点x= xo的导数为:
代码为:
clear;
定义x,y
x=[1 1.1 1.2 1.3]; y=x.^3;
标准答案
3*x.^2
ans =
3.0000 3.6300 4.3200 5.0700
差分做法
dy=diff(y)/diff(x)
dy =
3.3100 3.9700 4.6900
我们看出差分法做导数求近似解的误差较大,是因为原式中△x是无限趋近于0的。
而此差分法的精度仅为0.1,故误差较大,在一般求导过程中,我们不会使用此方法,而是使用matlab中其他内置函数。
2、数值梯度微分
Fx=gradient(F,x)
返回向量F表示的一元函数沿x方向的导函数F'(x).其中x是与F同维数的向量.
[Fx