Surface plot problem,
5 次查看(过去 30 天)
显示 更早的评论
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!
0 个评论
采纳的回答
Kevin Holst
2012-3-14
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 个评论
Kevin Holst
2012-3-15
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!