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

时间:2017-04-26 02:03:09

标签: 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.

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

1 个答案:

答案 0 :(得分:1)

在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

请注意,您实际存储在J列{2,3}中X而不是2,3,4,5行。