在matlab中调整矩阵的大小

在matlab中调整矩阵的大小,matlab,matrix,resize,Matlab,Matrix,Resize,我正在使用函数“resizem”扩展矩阵的大小,而不删除数据。最近,在使用该函数后,它向我发送了一个错误,即该函数不能使用double类型的整数。我已尝试在矩阵上使用abs()。^2,但无效 还有其他功能可以做同样的事情吗 注意:我需要的数据不改变,所以如果我有一个矩阵 A=[-102;412]我希望它变成一个5x5矩阵,如下所示: A=[-1-0.5012;42.511.52] 此外,我还尝试了“imresize”函数,并给出了与resizem相同的问题。(我拥有两个工具箱,我的矩阵是双精度的

我正在使用函数
“resizem”
扩展矩阵的大小,而不删除数据。最近,在使用该函数后,它向我发送了一个错误,即该函数不能使用double类型的整数。我已尝试在矩阵上使用
abs()。^2
,但无效

还有其他功能可以做同样的事情吗

注意:我需要的数据不改变,所以如果我有一个矩阵
A=[-102;412]
我希望它变成一个5x5矩阵,如下所示:
A=[-1-0.5012;42.511.52]


此外,我还尝试了“imresize”函数,并给出了与resizem相同的问题。(我拥有两个工具箱,我的矩阵是双精度的)

如果
A=[-102;412]
你可以做一些类似
A=[A[1,2;1.52]
的事情来获得
A=[-1-0.5012;42.511.52]
如果
A=[-102;412]
你可以做一些类似
A=[a1,2;1.52]
的事情[-1-0.5 0 1 2;4 2.5 1 1.5 2]
我会尝试使用
imresize
(这是
图像处理工具箱的一部分)。我从未使用过这些函数,但从您收到的与变量类型相关的错误来看,新选项应提供更大的灵活性。事实上,虽然
resizem
返回双精度输出,
imresize
返回与输入类型相同的输出

A = [-1 0 2; 4 1 2];
imresize(A,[2 5]);
这个例子展示了如何使用它。我还测试了两种结果:

A = [-1 0 2; 4 1 2];

A_imr = imresize(A,[2 5]);
A_rem = resizem(A,[2 5]);
这是
imresize
的结果:

A_imr:

-1,08000000000000   -0,720000000000000  -1,77635683940025e-15   1,29600000000000    2,16000000000000
 4,24000000000000     2,82400000000000       1,00000000000000   1,48000000000000    2,08000000000000
这是resizem的结果:

A_rem :

-1  -1  0   2   2
 4   4  1   2   2

为了进一步修补,请尝试使用
scale
method
参数。例如,在
imresize
中,您需要指定适当的插值内核以实现平均值。

我会尝试使用
imresize
(这是
图像处理工具箱的一部分)
)。我从未使用过这些函数,但从您收到的与变量类型相关的错误来看,新选项应提供更大的灵活性。事实上,虽然
resizem
返回双精度输出,
imresize
返回与输入类型相同的输出

A = [-1 0 2; 4 1 2];
imresize(A,[2 5]);
这个例子展示了如何使用它。我还测试了两种结果:

A = [-1 0 2; 4 1 2];

A_imr = imresize(A,[2 5]);
A_rem = resizem(A,[2 5]);
这是
imresize
的结果:

A_imr:

-1,08000000000000   -0,720000000000000  -1,77635683940025e-15   1,29600000000000    2,16000000000000
 4,24000000000000     2,82400000000000       1,00000000000000   1,48000000000000    2,08000000000000
这是resizem的结果:

A_rem :

-1  -1  0   2   2
 4   4  1   2   2
为了进一步修补,请尝试使用
scale
method
参数。例如,在
imresize
中,您需要指定适当的插值内核以实现平均