W*W 发帖数: 293 | 1 原来的计算是
fy = interp1(XI,YI, fx). 从 1维的XI和YI里面插值算fy。
如果我需要对一个比较大的矩阵里面每个数做同样的插值,请教应该怎么做效率比较高
?而不是用下面最原始的算法。
for i = 1:L
for j = 1:L
Y(i,j) = interp1(XI,YI, X(i,j))
end
end | t****t 发帖数: 6806 | 2 Y=interp1(XI, YI, X);
【在 W*W 的大作中提到】 : 原来的计算是 : fy = interp1(XI,YI, fx). 从 1维的XI和YI里面插值算fy。 : 如果我需要对一个比较大的矩阵里面每个数做同样的插值,请教应该怎么做效率比较高 : ?而不是用下面最原始的算法。 : for i = 1:L : for j = 1:L : Y(i,j) = interp1(XI,YI, X(i,j)) : end : end
| W*W 发帖数: 293 | 3 不好意思,我才发现我没法解决的是这个问题
对 X 里面每个元素,我需要做 interpolation 的范围不一样,就是说我有一个 idx,
idy 的matrix, 如下:
for i = 1:L
for j = 1:L
Y(i,j) = interp1(XI(idx(i,j):idy(i,j)),YI(idx(i,j):idy(i,j)), X(i,j))
end
end
这样就不能直接用 Y=interp1(XI, YI, X);来算了。 请问有什么效率更高的计算方法
吗? 我需要解的是一个 image file, 所以如果做循环计算会很慢。 | A**********e 发帖数: 3102 | 4 C
,
【在 W*W 的大作中提到】 : 不好意思,我才发现我没法解决的是这个问题 : 对 X 里面每个元素,我需要做 interpolation 的范围不一样,就是说我有一个 idx, : idy 的matrix, 如下: : for i = 1:L : for j = 1:L : Y(i,j) = interp1(XI(idx(i,j):idy(i,j)),YI(idx(i,j):idy(i,j)), X(i,j)) : end : end : 这样就不能直接用 Y=interp1(XI, YI, X);来算了。 请问有什么效率更高的计算方法 : 吗? 我需要解的是一个 image file, 所以如果做循环计算会很慢。
| W*W 发帖数: 293 | 5 如果用mex的话, c里面有直接可以调用的 interpolation的函数吗? |
|