Reading a matrix (or array) from an excel file
11 views (last 30 days)
Show older comments
Hi,
I'm relatively new to matlab, so sorry for very basic questions. I have 3 questions;
1) I want to read a matrix from an excel file and want to assign it a variable named as N_C. I added the following code in my .m file;
N_C=xlsread('C:\Users\Kajal Chopra\vibrations\free_vibrations_program\matlab_input_free_vibrations_1',1);
The values are in sheet 1.I'm also attaching the excel file for your reference. I do not want to tell Matlab that how many rows and columns the matrix has. My matrix has 3 rows and 3 columns. Is it possible that without telling Matlab the number of rows and columns, I carry out the filling up of my matrix/array "N_C" by reading it from xls file using xlsread.
2) Second, I want the end user to enter the xls file name from the command window and my .m file (as in the above location) should then open the file. That is, I do not want to give the file name as:
'C:\Users\Kajal Chopra\vibrations\free_vibrations_program\matlab_input_free_vibrations_1'\
but a user specified file name from the command window.Is it possible?
3) Thirdly, how can I test of my N_C has been correctly assigned after the .m file has read it from xls file?
Thanks a million in advance.
Kajal
3 Comments
Answers (1)
Cedric
on 26 Jul 2015
Edited: Cedric
on 26 Jul 2015
Hi, try something along the following line:
[filename, filepath] = uigetfile( '*.xls*' ) ;
N_C = xlsread( fullfile( filepath, filename ), 'Sheet1' ) ;
Then, when you say "test if correct", what does it mean? You can test if the size is correct for example:
assert( all( size( N_C ) == 3 ), 'Invalid N_C.' ) ;
if it has to be 3x3, but you'll have to define more precisely which other tests are relevant.
3 Comments
Cedric
on 27 Jul 2015
Edited: Cedric
on 27 Jul 2015
I provided you the 3 lines of code which ask the user to pick a file, read the file, and check that it is a 3x3 array:
[filename, filepath] = uigetfile( '*.xls*' ) ;
N_C = xlsread( fullfile( filepath, filename ), 'Sheet1' ) ;
assert( all( size( N_C ) == 3 ), 'Invalid N_C.' ) ;
You can display the content of variables by typing their name in the command window, or by looking them up in the "Workspace" panel/window.
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!