我的理解能力是在是比较低啊,本来一开始help interp2时就看到了一句所插值必须在你所给定的区间内(实数域),也就是说在超出你所给定的域外进行插值(估计函数值),是不会成功的,只能是得到NAN的结果。
如果程序运算过程中不可避免的出现了超出域外的点也需要为了使自通过插值行为,为了使得己编写的程序能够成功的继续往下运行,可以在 Vq = interp2(X,Y,V,Xq,Yq,'cubic',0) 中让最后写为0,它的意思是让出现在域外的插值点的函数都为零,这样就能避免NAN的尴尬情况,hhh。
同时,也可以在程序中加入判断语句,当插值点不满足域内的范围时,可在判断之后就令它为0,同时跳过插值程序。
之前的思路是尝试使用extrapval,觉得它可能会得到域外的插值点的值出现了
“错误使用 interp2 (line 61)
EXTRAPVAL 必须为标量。” 这样的结果。结合最后的使用方法中
extrapval
— Function value outside domain of X
and Y
scalar
Function value outside domain of X
and Y
, specified as a real or complex scalar. interp2
returns this constant value for all points outside the domain of X
and Y
.
Example: 5
Example: 5+1i
Data Types: single
| double
Complex Number Support: Yes
我猜是复数域下的结果,这是我还没弄清楚这个怎么用,等弄清楚后再翻新~