read specific data from excel and create a vector ?

1 view (last 30 days)
I have attached excel file
and to create a row vector 1*24 like
A1=[0 0 0 0 2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 2.2 0 0 0 0 0 0 0 0 0];
A2=[0 0 0 0 0 0 0 0 0 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 0 0 0 0];

Accepted Answer

KSSV
KSSV on 31 Jul 2017
Edited: KSSV on 31 Jul 2017
[num,txt,raw] = xlsread('app.xls') ;
A1 = zeros(1,24) ;
A1(num(1,2):num(1,3)) = num(1,1) ;
A2 = zeros(1,24) ;
A2(num(2,2):num(2,3)) = num(2,1) ;
  2 Comments
Walter Roberson
Walter Roberson on 31 Jul 2017
The
clc; clear al ;
do not appear to be doing any useful work there ?
MUKESH KUMAR
MUKESH KUMAR on 31 Jul 2017
Edited: MUKESH KUMAR on 31 Jul 2017
thanks for solution if we have more than two rows like for 10 rows in excel then how can we use 'for loop' for it? I tried this A1 is B1{1} and A2 is B1{2} for two rows: [num,txt,raw] = xlsread('app.xls') ; for u = 1:2 for v = 1:2; B1{u}=zeros(1,24); B1{u}(num(v,2):num(v,3))= num(v,1); end end

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 31 Jul 2017
(This code is not tested)
[num, txt] = xlsread('app.xls');
nrow = size(num, 1);
use_cell = cell(nrow, 2);
for K = 1 : nrow
this_entry = zeros(1,24);
this_entry( num(K,2) : num(K,3)) = num(K,1);
use_cell{K,1} = txt{K,1};
use_cell{K,2} = this_entry;
end
use_struct = cell2struct(use_cell(:,1), use_cell(:,2));
Now there will be use_struct.a1 and use_struct.a2

Tags

Community Treasure Hunt

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

Start Hunting!