本博文源于matlab中的数值微分,只在使用一阶和二阶中心差商公式来求函数的近似一阶和二阶导数
问题:求y=4x^2+3sinx在x=1处近似一(二)阶导数值
下面我们进行分步骤解决此问题
一阶二阶中心差商公式
一阶:

讯享网
二阶:


编写matlab代码
思路如下,
- 首先计算一阶二阶导数非数值解的值
- 然后计算f(x+h),f(x),f(x-h)
- 最后套一阶,二阶公式进行计算
>> x=1; >> dy_1=8*x+3*cos(x) dy_1 = 9.6209 >> dy_2=8-3*sin(x) dy_2 = 5.4756 >> h=[0.1 0.01 0.001 0.0001]; >> x1=x+h; >> x2=x-h; >> y=3*sin(x)+4.*x.^2; >> y1=3*sin(x1)+4.*x1.^2; >> y2=3*sin(x2)+4.*x2.^2; >> ysw_1=(y1-y2)./(2*h); >> ysw_1 ysw_1 = 9.928 9.419 9.263 9.781 >> ysw_2=(y1+y2-2.*y)./(h.^2); >> ysw_2 ysw_2 = 5.785 5.487 5.822 5.974 >>
讯享网
获取结果,解决问题
通过matlab编写代码,发现不同的h会有不同的精度的值,h步长越小,越趋于精确值。其中ysw_1就是1阶导数近似值,ysw_2是二阶导数近似值,大家可以跟非数值解进行对比,发现确实更精准!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/66273.html