怎么利用MAtlab求离散点的导数

怎么利用MAtlab求离散点的导数,第1张

离散点求导都是用差分来进行的,差分一般分前向差分、后向差分和中心差分,形式分别为

ux(i) = u(i)-u(i-1)

ux(i) = u(i+1)-u(i)

ux(i) = (u(i+1)-u(i-1))/2

简单的方法是用相邻点的差分代替导数

float x[200],y[200],z[200]

float dx,dy

int i

// 输入 x[200],y[200]

z[0] = 0.0

for (i=0i<199i++){

dx = x[i+1] - x[i]

dy = y[i+1] - y[i]

if (dx == 0.0) { printf("I can not deal with dx==0.0\n")exit(1)}

z[i] = dy / dx

}

z[199] = z[198]

// 输出 z[]

复杂一点:

拟合离散点。如果是时间序列,考虑顺序,如果是非时序不考虑顺序。得拟合曲线。再计算拟合曲线的导数。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8158341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存