MATLAB使用reshape函数的时候出了问题 要执行 RESHAPE,请勿更改元素数目.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB使用reshape函数的时候出了问题 要执行 RESHAPE,请勿更改元素数目.相关的知识,希望对你有一定的参考价值。

k= 1;
for i = 1:20
for j = 1:30
p(k) = k;
k=k+1;
end
end
a = reshape(k,30,20);

报错:错误使用 reshape
要执行 RESHAPE,请勿更改元素数目。
这是为什么?

1、首先打开matlab,在命令行窗口中输入help reshape,对reshape有一个认识,如下图所示。

2、这时输入reshape([1:18],[3 3 2]),如下图所示。

3、reshape([1:18],[3 3 2])中的[1:18]意思是数组1--18,后边[3 3 2]意思是将数组分为3行、3列、2页。

4、最后查看二维数组:[9 8 7 1 2 3 5 4 6;10 11 12 13 14 15 16 17 18],如下图所示就完成了。

参考技术A 提问

请问我的代码哪里错了[吃鲸]算了三个小时了

请问我的代码哪里错了[吃鲸]算了三个小时了

回答
参考技术B k就孤零零一个元素你怎么可能用reshape把它变成30x20呢追问

打错了- -那个,就是说reshape转制后的矩阵元素数量一定要和原数组一样吗?

追答

什么叫reshape啊?只是改变矩阵的形状,但是面积不能变啊。你把一个3x4的矩阵变成2x6,12x1都可以,但是不可能把1x1的变成30x20啊

本回答被提问者采纳

以上是关于MATLAB使用reshape函数的时候出了问题 要执行 RESHAPE,请勿更改元素数目.的主要内容,如果未能解决你的问题,请参考以下文章

函数 reshape 的用法

matlab中的reshape命令有啥数学意义?

Matlab 的reshape函数(转)

MATLAB reshape()函数和sub2ind()函数

重塑矩阵(matlab reshape函数原理)

重塑矩阵(matlab reshape函数原理)