Reading different columns from excel in Matlab

16 views (last 30 days)
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.

Accepted Answer

Caglar
Caglar on 2 Nov 2018
Edited: Caglar on 2 Nov 2018
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);

More Answers (1)

madhan ravi
madhan ravi on 2 Nov 2018
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!