Reading different columns from excel in Matlab

19 次查看(过去 30 天)
Hello, I'm trying to read different datas that belong to the same excel file, for that I made this code:
abs = 'icv bac abs fluor 250918.csv';
data = xlsread(abs);
[rows, columns] = size(data);
for col = 1 : 2 : columns
x = data(3:603, col);
y = data(3:603, col + 1);
plot(x, y, '-', 'LineWidth', 2);
hold on;
end
grid on;
However, I'm getting this error: Index exceeds matrix dimensions. Enclosed in this questions is the file that I'm working with. Thank u.

采纳的回答

Caglar
Caglar 2018-11-2
编辑:Caglar 2018-11-2
As a weird feature, xlsread ignores rows that does not include any number. Therefore your 'data' variable is 601 x n. Read data as raw, then you will protect excel structure,
[~,~,data] = xlsread(abs);
Note that data is now cell and you need to convert it back to numerics (I guess).
data=cell2mat(data);
Or you can just,
data = xlsread(abs);
x = data(1:601, col);

更多回答(1 个)

madhan ravi
madhan ravi 2018-11-2
abs = 'icv bac abs fluor 250918.csv';
[num,~,~] = xlsread(abs);
data = num;
[rows, columns] = size(data);
for col = 1 : 2 : columns
x = data(3:603, col);
y = data(3:603, col + 1);
plot(x, y, '-', 'LineWidth', 2);
hold on;
end
grid on;

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by