Error using ' TRANSPOSE does not support N-D arrays. Use PAGETRANSPOSE/PAGECTRANSPOSE to transpose pages or PERMUTE to reorder dimensions of N-D arrays.
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Madison
am 3 Jun. 2023
Beantwortet: Walter Roberson
am 3 Jun. 2023
The data is from Copernicus, but sea surface height (SHW) is a 3D matirx
clear
clc
dir = 'C:\Users\Madison-Riley\Downloads\';
ncfile = 'PotentialTemp.nc'; % name of data file from copernicus
ncdisp([dir,ncfile])
lon = ncread([dir,ncfile], 'longitude');
lat = ncread([dir,ncfile], 'latitude');
depth = ncread([dir,ncfile], 'depth');
time = ncread([dir,ncfile], 'time');
% note 'squeeze' function gets rid of the single dimension (depth=1):
temp= squeeze(ncread([dir,ncfile], 'thetao')); % Sea water potential temperature (long,lat,depth(=1),time)
clf
% plot temp for time t=1:
pcolor(lon,lat,temp(:,:,1)');
shading flat;
colorbar
2 Kommentare
Cris LaPierre
am 3 Jun. 2023
I don't see a variable SHW in your code. The only transpose operation I see is a 2D array, which should work.
Please share the full error message (all the red text). Please save your variable lon, lat, depth, time, and temp to a mat file and attach that to your post using the paperclip icon.
Akzeptierte Antwort
Walter Roberson
am 3 Jun. 2023
Your nc file has lat, long, one depth, and multiple times, making it a 4 dimensional array. You are trying to pcolor() the entire 4d array at the same time. pcolor can only handle 2d data.
The error with transpose is a side show. You could permute() [2 1 3 4] instead of ' but the resulting array would still be 4d and pcolor cannot handle that. You should extract the data for one time for each pcolor, possibly looping animating over time
0 Kommentare
Weitere Antworten (1)
Hiro Yoshino
am 3 Jun. 2023
I could reproduce the same error message as follows:
X = rand(3,3,4)
transpose(X)
The best bet is replace this with pagetranspose as it says:
pagetranspose(X)
3 Kommentare
Cris LaPierre
am 3 Jun. 2023
Bearbeitet: Cris LaPierre
am 3 Jun. 2023
Please share the full error message (all the red text). Please save your variables lon, lat, time, and SHW to a mat file and attach that to your post using the paperclip icon.
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!