在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
中,您需要指定适当的插值内核以实现平均