您的位置:首页 > 编程语言 > MATLAB

MATLAB学习笔记:求数值微分

2018-01-08 16:14 1096 查看
数值微分是用离散方法近似计算函数的导数值或偏导数值。

向前差商公式:



向后差商公式:



中心差商公式:



二阶导数的中心差商公式:



例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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: