怎么用matlab实现向前差分法,向后差分法,中心差分法等,最好举个例子,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 21:20:35

怎么用matlab实现向前差分法,向后差分法,中心差分法等,最好举个例子,
怎么用matlab实现向前差分法,向后差分法,中心差分法等,最好举个例子,

怎么用matlab实现向前差分法,向后差分法,中心差分法等,最好举个例子,
一些关于差分的知识可以看看
一阶差分:gradient命令
二阶差分:del2命令
用法help一下.
如:
[f(x+h) – 2f(x) + f(x – h)]/h^2 (1)
这里h是步长.这个公式是一元函数二阶导用差分公式近似的表达,在matlab里可以用del2命令实现.
del2命令用来对函数的laplacian离散近似,方法如下:
给定函数u,它的laplacian为 2×N×del2(u,h),其中N是问题的维数,比方说二元函数u(x,y),此时N=2,对三元 函 数,四元函数依次类推;
注意,对于一元函数,此时N必须依然取2(matlab中并未给出明确的对这个特例的说明),所以函数f(x)的laplacian是2×2×del2(f,h).
公式(1)实际上是一元函数f(x)的二阶导,而对于一元函数来说,它的laplacian就是它的二阶导,即:
f’’(x) = laplacian(f) = [f(x+h) – 2f(x) + f(x – h)]/h^2 = 2*2*del2(f,h)
楼主可以试试如下例子:
x = 0:0.01:1
y = x.^3;
ythe = 6*x %理论二阶导
yapp = 2*2*del2(y,0.01);%matlab数值近似
plot(x,ythe,'*');
hold on;
plot(x,yapp,'r');
hold off;