Loading the excel file(cell array contains elements of different dimension) in MATLAB

1 次查看(过去 30 天)
Hey all,
I have an excel file, I need to load this excel file in MATLAB, but it is showing NaN for the position where a matrix is built.
Here is an example:
A = xlsread('Area_Matrix.xlsx');
A =
0 NaN 0 0 0 0 23
NaN 0 47 0 0 0 18
But here NaN should be a matrix like below;
[0 0 ; 0 23];
It is like building a cell array in excel to have a matrix of different dimensions.
I need to get the cell array from excel like below:
A = { 0 [ 0 4749.50 ;0 2375.80] 0 0 0 0 [0 0; 0 2375.8 ] ;
[ 0 4749.50 ;0 2375.80 ] 0 [0 0; 0 2375.8 ] 4749.50 0 0 [0 0; 0 1835.80 ];
0 [ 0 0 ; 0 2375.80] 0 0 0 0 0;
0 4749.50 0 0 2375.80 4749.50 [0 0; 0 1835.80 ];
0 0 0 2375.80 0 0 0;
0 0 0 4749.50 0 0 [0 0; 0 2375.8 ] ;
[0 0; 0 2375.8 ] [0 0; 0 1835.80 ] 0 [0 0; 0 1835.80 ] 0 [0 0; 0 2375.8 ] 0};
So I am planning to use excel to enter the data and load it later in MATLAB.
Any suggestions and answers would be most welcomed
Thanks in advance.

采纳的回答

Alex Mcaulley
Alex Mcaulley 2019-6-27
Try this:
[num,~,A] = xlsread('Area_Matrix.xlsx');
A(isnan(num)) = cellfun(@str2num,A(isnan(num)),'uni',0); %A is the cell array you want

更多回答(0 个)

产品


版本

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by