﻿功能:采用5点公式求函数在指定点处的二阶微分值

格式:
[y,error]=DiffSecondOrder(f,t,n,Error0,x,h)
[y,error]=DiffSecondOrder(f,t,n,Error0,x)
[y,error]=DiffSecondOrder(f,t,n,Error0)
[y,error]=DiffSecondOrder(f,t,n)
[y,error]=DiffSecondOrder(f,t)

f:为符号变量存储或自定义函数
t:为数值或者矩阵变量,表示求解此指定点的值
n:二分的最大深度。默认20。
Error0:跳出控制的相对误差,默认1E-12
x:f表达式中变量的名称,默认为"x"
h:初始时刻步长,默认0.16

y:为返回的二阶微分值
error:表示返回的相对误差

说明:本函数主要针对求导困难时求其微分值的问题.

参考:现代应用数学手册.计算与数值分析卷[M].清华大学出版社,2007:2500

例子:

f = "sin(x)";
x=1:10;
[y,er]=DiffSecondOrder(f,x)//依次执行上面的命令,然后再执行本求微分命令可以得到如下结果
y =
[-0.84147098464863   -0.90929742685356   -0.14112000837821    0.75680249504254    0.95892427457518    0.27941549740025   -0.65698659916790   -0.98935824667023   -0.41211848477532    0.54402111128837 ]
er =
[ 2.1316282072E-10    3.5527136788E-11    5.8619775700E-10    1.8947809987E-10    1.1250267384E-10    8.0528173018E-10    4.6185277824E-10    4.7369441702E-11    6.2394533983E-10    6.0544169677E-10 ]

 