Error in using reshape
8 次查看(过去 30 天)
显示 更早的评论
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 个评论
Image Analyst
2022-12-6
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'
回答(1 个)
KSSV
2022-12-6
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Particle & Nuclear Physics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!