0

我有一个文件(file.csv)用以下格式填充整数:

1,2,3,4,5,6,7,8,9,100
2,5,1,3,4,6,7,8,10,200

我知道使用此代码:

load('FILE.csv')
x = FILE

x将是一个NxM矩阵,其中..

  • N是文本文件中的行数(在上面的示例中N=2:)
  • M是每行中的数字数量(除以逗号)(在上面的示例中M=10:)

我的目标是类似的。

我想得到两个矩阵:

一个矩阵(y):这是与“x”相同的矩阵,但没有最后一列(在上面的示例中,这与在矩阵中加载以下文件相同:

   1,2,3,4,5,6,7,8,9
   2,5,1,3,4,6,7,8,10

所以结果矩阵是一个N*(M-1)矩阵 ( N=2, M=10) ==> 2 rows , 9 columns

   |1 2 3 4 5 6 7 8 9 |
   |2 5 1 3 4 6 7 8 10|

第二矩阵:这是剩余的列(或更简单地说:一个 N*1 矩阵,最后一列的每个元素都有一行)

在上面的示例中,矩阵将是:

|100|
|200|

最简单的方法是什么?(我是 MATLAB 初学者)。

提前感谢您的任何提示!

4

1 回答 1

0

最简单的方法是FILE在加载后手动拆分变量

y=FILE(:,1:end-1);
x=FILE(:,end);

如果您的数据文件很大并且您担心内存不足,那么您可以使用导入文件csvread

 y=csvread('file.csv',0,0,[0 0 n-1 m-2] # reads the first m-1 columns and n rows
 x=csvread('file.csv',0,m-1) %# reads the mth column

但是您首先需要知道行数和列数。

于 2012-06-05T17:14:13.753 回答