fhyd212 发表于 2010-7-10 10:56:40

如何求给定点的梯度值

本帖最后由 fhyd212 于 2010-7-10 11:04 编辑

matlab中的梯度是通过给定微分间隔确定的,能否对给定点求梯度呢,急求高手指教!
备注:是一系列离散点哈

lengyunfeng 发表于 2010-7-10 14:45:32

可以,用gradient

fhyd212 发表于 2010-7-11 15:58:42

2# lengyunfeng
谢谢回复,我现在是在用gradient,gradient(f,dx,dy,dz),求解的都是微元长度,而不是指定的点,还请指教哈

lengyunfeng 发表于 2010-7-11 16:21:43

你要搞清楚f,dx,dy,dz这四个输入量和输出量gx,gy,gz之间的关系,比如说吧,你要找f里的(x,y,z)点处对应的gx,gy,gz值,所要做的只是查到(x,y,z)点在f中的索引位置(如果找不出来的话,不妨考虑一下你的x,y,z与f的初值以及dx,dy,dz之间的关系来查找),然后按对应量的索引就可以找到gx,gy,gz值。当然,如果你想要找的点刚好又不在f距阵内,那你就要用ceil以及floor函数在f中找到距你想要的点的最近的几个数据点,然后再考虑线性插值啊啥的

fhyd212 发表于 2010-7-12 08:45:05

4# lengyunfeng
明白楼主的意思了,用矩阵中的点插值拟合出给定点的梯度值,关键在于选取哪种插值函数哈
页: [1]
查看完整版本: 如何求给定点的梯度值