Assign excel data to multi-dimensional array

Hi I want to assign data repetitively in an excel spreadsheet to a n*n*5 dimensional array, ie 5 pages.
% User inputs
ExcelFile = '\InputData.xlsx';
SheetNumber = 1;
InputDataRange = 'B5:Y910';
[alldata, text, ~] = xlsread(ExcelFile, SheetNumber, InputDataRange);
data=alldata(:,:,1)
data=alldata(:,:,2)
data=alldata(:,:,n)
data=alldata(:,:,5).....etc
I get an error message stating "Index exceeds matrix dimensions."
Any ideas? Regards

Risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 22 Lug 2014
Modificato: Azzi Abdelmalek il 22 Lug 2014
Change this line (alldata should be the third output argument)
[~,text,alldata] = xlsread(ExcelFile, SheetNumber, InputDataRange);

7 Commenti

Hi Azzi,
Im afraid that does not work, still get the same error...
For my original script, it seems that each entry read in from excel is in a square bracket...
I thought changing alldata from a cell to an array might work still getting the same error
What the size of alldata? type
size(alldata)
ans
906 24
I think this might work
[~,text,alldata] = xlsread(ExcelFile, SheetNumber, InputDataRange);
datacell=alldata(:,:);
dataarray = cell2mat(datacell);
data=dataarray;
data(:,:,2)=dataarray;
data(:,:,3)=dataarray;
data(:,:,4)=dataarray;
data(:,:,5)=dataarray;
Hi Azzi
I have seen so many post from you on the Matlab discussion forum. I had a question, that i cannot solve. Do you have any possibility to see that. I share the screenshot from the error.

Accedi per commentare.

Richiesto:

il 22 Lug 2014

Commentato:

il 26 Dic 2020

Community Treasure Hunt

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

Start Hunting!

Translated by