【发布时间】:2014-08-28 14:42:27
【问题描述】:
我有一个 Matlab 矩阵,想知道是否有办法从中提取某些列来创建一个新矩阵。
例如,如果我有一个矩阵;
数据=1:20
我想从第 1、2、9、10 列导出数据并制作一个新的矩阵文件。
我想将其扩展到大约 4,400 列的矩阵...因此,如果有办法在定义的点(例如每 8 列和第 9 列)选择列,那就太好了!
任何帮助将不胜感激!
谢谢, 阿杰
【问题讨论】:
我有一个 Matlab 矩阵,想知道是否有办法从中提取某些列来创建一个新矩阵。
例如,如果我有一个矩阵;
数据=1:20
我想从第 1、2、9、10 列导出数据并制作一个新的矩阵文件。
我想将其扩展到大约 4,400 列的矩阵...因此,如果有办法在定义的点(例如每 8 列和第 9 列)选择列,那就太好了!
任何帮助将不胜感激!
谢谢, 阿杰
【问题讨论】:
你给出的例子可以这样写:
x=data([1,2,9,10]);
您可以像这样获得每 8 列:
index=8;
x=data(index:index:end);
如果您希望每 8 和 9 列并保持顺序:
index1=8;
index2=9;
x=data(sort([index1:index1:end index2:index2:end]));
【讨论】:
如果您还想获取单个列或行,可以使用类似的过程,然后将其连接成一个矩阵
x=data(:,2) % get the 2nd column
y=data(:,8) % get the 8th
z=[x;y] or z=[x:y] % combine them
如果你的表是标准的,你可以在一个小脚本中预定义它们
【讨论】: