MATLAB Answers

Converting Excel columns to a vector

335 views (last 30 days)
Daniel Jednorozec
Daniel Jednorozec on 13 Jul 2012
Answered: Sidra Khalid on 22 Dec 2018
I am trying to access a specific column from different files and convert them into a matrix to be used later but I am running into problems and I'm not sure what I am doing wrong. Here is the part of my code I am trying to do it in, if anyone can tell me what I'm doing wrong I would greatly appreciate it.
for i = 1:3 % Loop over the files
a = xlsread(dataFiles{i}); % Load the data
c = a(:,3); % takes the third column from the file
hf(:,i) = c*(100^2); % converts the values and makes a matrix
end
Is it that I need to convert the cells to a matrix using cell2mat?

  3 Comments

Conrad
Conrad on 13 Jul 2012
Could you provide the error message (if any)?
Daniel Jednorozec
Daniel Jednorozec on 13 Jul 2012
Sure, sorry about that.
??? Subscripted assignment dimension mismatch.
Error in ==> trajtest at 16
hf(:,i) = c*(100^2);
Nirmal
Nirmal on 13 Jul 2012
it means that the size of hf and size of c are not same. See the size of both hf and c using size() function.

Sign in to comment.

Accepted Answer

Nirmal
Nirmal on 13 Jul 2012
hf=[];
for i = 1:3 % Loop over the files
a = xlsread(dataFiles{i}); % Load the data
c = a(:,3); % takes the third column from the file
hf =[hf c*(100^2)]; % converts the values and makes a matrix
end
This should work for you.

  3 Comments

Daniel Jednorozec
Daniel Jednorozec on 13 Jul 2012
Thank you for the help. It's now giving me this error message
??? Error using ==> horzcat
CAT arguments dimensions are not consistent.
Error in ==> trajtest at 18
hf =[hf c*(100^2)];
Nirmal
Nirmal on 14 Jul 2012
do you know before hand how many rows are there? the error is because you have empty hf. if you dont know then not so elegant way would be to have a loop inside your main loop. Error is saying it needs to know the row size of the matrix.
Daniel Jednorozec
Daniel Jednorozec on 16 Jul 2012
Generally speaking there seems to tend to be 328 rows, but I recently had a file that went for double the time (the rows represent half second data marks), so it can go longer sometimes.

Sign in to comment.

More Answers (4)

nanren888
nanren888 on 13 Jul 2012
Are the columns always the same length?
If the dimensions, length of hf(:,i) & c are different you may need to consider
hf(ran,k) = c....
Like Conrad said, can you post the error message?

  1 Comment

Daniel Jednorozec
Daniel Jednorozec on 13 Jul 2012
Columns are always the same length in this case.

Sign in to comment.


Daniel Jednorozec
Daniel Jednorozec on 17 Jul 2012
Ok, I figured out the problem. Apparently the first file is being treated as if it is somehow a different length than the other two files, so when I went from file 2 to file 3 it worked perfectly and printed to the excel file exactly as I wanted. So now I just need to see what exactly is different about the first file and I should have what I was looking for. Thank you everyone for your help.

  0 Comments

Sign in to comment.


Sidra Khalid
Sidra Khalid on 22 Dec 2018
IMG-20181211-WA0003.jpeg
how i write this program

  0 Comments

Sign in to comment.


Sidra Khalid
Sidra Khalid on 22 Dec 2018
IMG-20181211-WA0001.jpgthis is the remaining part..anyone help me please..is convert it from excel to matlab or matlab to exicel?

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!