Surface plot problem,

1 visualizzazione (ultimi 30 giorni)
james
james il 14 Mar 2012
Commentato: Matlabuser il 14 Nov 2014
I'm trying to create a surface plot for an equation,
the code returns the error ??? Error using ==> contourc Contour data must have 2 dimensions
Error in ==> contours at 57 CS=contourc(varargin{numarg_for_call});
Error in ==> contour3 at 87 [c,msg] = contours(args{1:nin});
Error in ==> surfc at 62 [cc,hh] = contour3(cax,x,y,z); %#ok
Error in ==> Untitled4 at 6 surfc(X,Y,Z,C);
Warning: size(CData) must equal size(ZData) or size(ZData)-1 for flat shading
my code is
x = -1:1:1;
y = -1:1:1;
z = -1:1:1;
[X,Y,Z] = meshgrid(x,y,z);
C = (1.10471.*((Z).^2) .* ((X).^2))+(0.0481.*(Y.*Z)*14.*X);
surfc(X,Y,Z,C);
axis([-1 1 -1 1 -1 1]);
Any help would be really appreciated!

Risposta accettata

Kevin Holst
Kevin Holst il 14 Mar 2012
You're not feeding the proper inputs into surfc. surfc(x,y,z,c) requires x be a vector of length(n), y a vector of length(m), size(z) = [m,n], and size(c) = size(z). See if this suits your needs:
x = -1:1:1;
y = -1:1:1;
[X,Y] = meshgrid(x,y);
Z = meshgrid(-1:1:1);
C = (1.10471.*((Z).^2) .* ((X).^2))+(0.0481.*(Y.*Z)*14.*X);
surfc(X,Y,Z,C);
axis([-1 1 -1 1 -1 1]);
  3 Commenti
Kevin Holst
Kevin Holst il 15 Mar 2012
you'll notice that I actually input a 2d matrix in the code and mentioned a vector in my description. Matrices X and Y can be 2d, Z and C must be 2d, and nothing can be 3d.
Matlabuser
Matlabuser il 14 Nov 2014
Can you please tell me how can I plot my experimental data using surf?

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by