我有一个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.
我的方法不正确吗?我在这里错过了什么?我只想循环遍历每一行并将其存储在变量中。
答案 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行。