打印/存储矩阵中的每一行 - MATLAB



我有一个 150 X 4 的矩阵,我希望遍历矩阵长度并打印出每一行。

这是我尝试的代码:

X = xlsread('filename.csv');
J = X(:, [2:5]) % extracting rows 2 to 5 into a matrix
for i= 0:length(J)
Y = J(i,:); %loop through each row and store it in Y
end;

但是我不断收到以下错误:

Subscript indices must either be real positive integers or logicals.

我的方法不正确吗?我在这里错过了什么?我只想遍历每一行并将其存储在一个变量中。

在 MATLAB 中,索引从 1 开始而不是从 0 开始,所以你应该这样做:

for i= 1:length(J)
Y = J(i,:); %loop through each row and store it in Y
end;

此外,关于您写的以下行:

J = X(:, [2:5]) % extracting rows 2 to 5 into a matrix

请注意,您实际上存储在X的第 2、3、4、5 列J而不是第 2、3、4、5 行中。

最新更新