矩阵内插值。 MATLAB

时间:2015-06-22 11:32:00

标签: matlab matrix

我有一个矩阵看起来像:

    0  0  0  0  0
    1  0  0  0  0
    0  2  0  0  0
    0  0  2  0  0
    0  0  0  1  0
    1  0  0  0  1
    0  4  0  0  0
    0  0  3  0  0
    6  0  0  4  0
    0  3  0  0  2
    0  0  5  0  0

它是11x5矩阵。 我想在每列的垂直值之间进行插值。

任何帮助?

感谢。

1 个答案:

答案 0 :(得分:1)

padding

然后如果你想要外部点M =[0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 0 0 1 0 4 0 0 0 0 0 3 0 0 6 0 0 4 0 0 3 0 0 2 0 0 5 0 0]; xi = 1:size(M,1) for colIdx = 1:size(M,2) col = M(:,colIdx); x = xi(~~col); %// Note that ~~col is a logical vector of elements that are not equal to zero. i.e. it's the same as col ~= 0 y = col(~~col); M(:,colIdx) = interp1(x,y,xi); end 在循环之后添加这一行:

0