我有一个文件(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行,9列
|1 2 3 4 5 6 7 8 9 |
|2 5 1 3 4 6 7 8 10|
第二矩阵:这是剩余的列(或更简单:N * 1矩阵,我们有最后一列的每个元素的行)
在上面的例子中,矩阵将是:
|100|
|200|
最简单的方法是什么? (我是MATLAB初学者)。
提前感谢您的任何提示!
答案 0 :(得分: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
但您需要先知道行数和列数。