figure
x = ICE_m_f_dot_map_temp_w; % 1*140 array of values
y = ICE_m_f_dot_map_temp_T; % 1*140 array of values
[X,Y]=meshgrid(x,y);
z = ICE_m_f_dot_map_temp; % 1*140 array of values
contour3(X,Y,z)
With the above code I am trying to plot contours but I recieve this error.
Error using contour3 (line 44)
Z must be at least a 2x2 matrix.
Error in ME7384AU21_Fahim_HW2 (line 97)
contour3(X,Y,z)

 Accepted Answer

N = 200; %grid refinement
x = ICE_m_f_dot_map_temp_w; % 1*140 array of values
y = ICE_m_f_dot_map_temp_T; % 1*140 array of values
z = ICE_m_f_dot_map_temp; % 1*140 array of values
minx = min(x); maxx = max(x);
miny = min(y); maxy = max(y);
[X, Y] = meshgrid(linspace(minx, maxx, N), linspace(miny, maxy, N));
F = scatteredInterpolant(x(:), y(:), z(:));
Z = F(X, Y);
contour3(X, Y, Z);

2 Comments

Thanks Walter but this is in 3d I want it in 2d. Here
x = ICE_m_f_dot_map_temp_w; % 1*140 array of values
Should be on x Axis
y = ICE_m_f_dot_map_temp_T; % 1*140 array of values
Should be on y Axis
z = ICE_m_f_dot_map_temp; % 1*140 array of values
I need 20 contours from these 140 values that would form a constant contour haning constant value on that particular contour
Your original code uses contour3 which is for 3d representation. If you want 2d then use contour() or contourf instead.

Sign in to comment.

More Answers (1)

KSSV
KSSV on 25 Sep 2021
You cannot use contour with column data. You can use scatter to plot data or if your data is gridded consider using griddata or reshaping the data as shown in the blow link:

2 Comments

Thanks KSSV. I need to plot the contour not the scatter plot. But data is given as colomn vectors. Then how could I tailor that it can be used to create contour plot?
KSSV
KSSV on 25 Sep 2021
Edited: KSSV on 25 Sep 2021
I have given a link. Read that.

Sign in to comment.

Categories

Products

Release

R2021b

Community Treasure Hunt

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

Start Hunting!