Clear Filters
Clear Filters

Reading different columns from excel in Matlab

10 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!