数值微分是用离散方法近似计算函数的导数值或偏导数值。
向前差商公式:
向后差商公式:
中心差商公式:
二阶导数的中心差商公式:
例1:利用数值微分求y=4*x^2+3*sin(x)在x=1处的近似导数。
先利用导函数求出其一阶和二阶导数值:
dy_1=diff(4*x^2+3*sin(x))
dy_1 =
8*x + 3*cos(x)
x=1;
dy_1=9.620906917604419
dy_2=diff(4*x^2+3*sin(x),2)
dy_2 =
8 - 3*sin(x)
x=1;
dy_2=5.475587045576311
一阶和二阶中心差商公式求导:
x=1;
h=[0.1 0.01 0.001 0.0001];
x1=x+h;
x2=x-h;
y=4*x^2+3*sin(x);
y1=4*x1.^2+3*sin(x1);
y2=4*x2.^2+3*sin(x2);
ysw_1=(y1-y2)./(2*h)
ysw_2=(y1+y2-2.*y)./(h.^2)
ysw_1 =
9.618206756509284 9.620879902624191 9.620906647452632 9.620906914897809
ysw_2 =
5.477690021937852 5.475608082274874 5.475587256498216 5.475587094849743
例2:计算出生人口年增长率。
px=[650 781 914 1005 1471 1861 1468 2479 2801 2114 1839 2043 2621 1693 1379 1617 1574 1655];
for k=2:17
zzl(k)=(px(k+1)-px(k-1))/10;
end
zzl
plot(zzl)
zzl =
Columns 1 through 10
0 26.4000 22.4000 55.7000 85.6000 -0.3000 61.8000 133.3000 -36.5000 -96.2000
Columns 11 through 17
-7.1000 78.2000 -35.0000 -124.2000 -7.6000 19.5000 3.8000