MATLAB矩阵运算

时间:2016-08-18 11:49:06

标签: matlab

我有大约3000行(更改)和3列的矩阵。 我有行和列的数量。 我试图绘制图表:

X = 1:3000; 情节(矩阵(X,1))

有没有什么办法可以在剧情指令本身中包含所有行,这样我就可以删除' x = 1:3000' ?

另外,我想将具有3000行的矩阵的第1列分成3列的另一个矩阵,每列1000行。对此有何具体说明? 我为此做了循环,然后我将元素单独放在新数组中。但它需要很长时间。

1 个答案:

答案 0 :(得分:1)

关于绘图问题,使用冒号运算符将绘制所需列的所有行:

plot(matrix(:,1));

编辑:你提到你是初学者。如果您之前没有看到过如此使用的冒号运算符,则在索引到矩阵时,冒号操作符本身就意味着“所有__”,如果在第一个位置则为“所有行”,如果在第一个位置则为“所有列”第二个位置。

关于第二个问题,将一列拆分为具有多列的新矩阵,可以使用reshape()函数,该函数将输入矩阵重新整形,并输出多个输出行和列。例如,要将matrix的第一列拆分为3列并将其放入newMatrix,请使用以下命令:

newMatrix = reshape(matrix(:,1),[],3);

请注意,上面的代码在第二个参数中使用[](行数参数)表示“自动确定行数”。这是根据列数自动确定的,这是在这里的第三个参数为3.重新整形函数要求输出行*输出列的数量等于输入行*输入列。因此,在上述情况下,只有在起始矩阵具有可被3整除的行数时才会起作用。