# The size of X must match the size of Z or the number of columns of Z.

163 views (last 30 days)
Jonas Damsbo on 10 Oct 2018
Commented: Jonas Damsbo on 10 Oct 2018
Hi there
I have a netcdf file I have running in MatLab. But I want to plot contour lines for the geostrophic wind. When I running my code i got the fail "The size of X must match the size of Z or the number of columns of Z." Someone there could help me?
if true
figure(2);
clow=4680; chigh=6000; cint=60;
conts = [clow:cint:chigh];
V = [clow:cint*2:chigh];
[c,h]=contour(lat,lon,z,conts,'linewidth',1.5,'color','k');
clabel(c,h,V);
quiver(latv,lonv,vg500,ug500)
title('Geopotential height and geostrophic wind at 500 hPa')
xlabel('longitude'), ylabel('latitude')
figure(3)
clow=4680; chigh=6000; cint=60;
conts = [clow:cint:chigh];
V = [clow:cint*2:chigh];
[c,h]=contour(lat,lon,z,conts,'linewidth',1,'color','k');
clabel(c,h,V);
pcolor(latv,lonv,Vg);
colorbar('v');
title('geopotential height and magnitude of geostrophic wind at 500 hPa')
xlabel('longitude'), ylabel('latitude')
end
Walter Roberson on 10 Oct 2018
Your lat variable is about 54 times too large. It would have to be 181 long for that z data.

ANKUR KUMAR on 10 Oct 2018
Edited: ANKUR KUMAR on 10 Oct 2018
There are few mistakes I want to highlight. You have used,
contour(lat,lon,z.............
It should be
contour(lon,lat,z................
Moreover make sure that the third argument must be in the dimension of second input X dimension of first input.
Have a look over this example
contour([1:10],[1:15],rand(10,15))
You will get an error
Error using contour (line 48)
The size of X must match the size of Z or
the number of columns of Z.
It should be
contour([1:10],[1:15],rand(10,15)')
Always put lon as the first input and dimension of third should be second X first.
Jonas Damsbo on 10 Oct 2018
I got a output now, thanx!