Error in using reshape
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
the error stated: Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate size for that dimension.
i'm doing a reshape in producing a taylor diagram. im using the same script but now it's not working because of this reshape issue.
i used reshape as follows;
for observation data;
dimN = length(size(getOBS));
xbox = size(getOBS, dimN-1);
ybox = size(getOBS, dimN );
data = ones(length(exp)+1,xbox*ybox);
data(1,:) = reshape(squeeze(getOBS),1,xbox*ybox);
for experiment;
data(expcount+1,:) = reshape(squeeze(getDAT),1,xbox*ybox);
previously i did the same for a different set of experiments, and did not have any issues. do you know how i can fix this?
the script is attahced
8 commentaires
Voss
le 6 Déc 2022
Please tell us the size of getOBS, the value of expcount, and the size of getDAT.
Image Analyst
le 6 Déc 2022
When I run your script, I get this:
>> Copy_of_DJF_region1
Unrecognized function or variable 'nc_varget'.
Error in Copy_of_DJF_region1 (line 33)
getOBS = nc_varget('ERA5_DJF_north.nc',var{varcount});
Please attach that nc_varget() function and the file called 'ERA5_DJF_north.nc'
Réponses (1)
KSSV
le 6 Déc 2022
The error is simple....you are trying to reshape more number of elements than present in the matrix.
EXample:
A = rand(9,1) ;
B = reshape(A,3,3) ; % as nine lements present in A, you can have 3,3 combination. Nothing lese combination possilbe
C = reshape(A,2,4) ; % error. You cannot have eight elements from nine. If you want to have
D = reshape(A(1:8),2,4) ; % here eight elements are picked and reshaped into eight elements
Note: If A has m*n elements. You can reshape A into m1,n1 so that m1*n1 = m*n.
0 commentaires
Voir également
Catégories
En savoir plus sur Particle & Nuclear Physics dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!