Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-10-09
年龄: 37
帖子: 26
声望力: 17 ![]() |
![]()
给出一任意空间粒子的密度分布函数 n=f(x,y,z)=cos(z)*exp[-(x^2+y^2)/4],画出空间粒子密度的梯度场及等密度面。x、y的范围是[-2:0.5:2],z的范围是[0:0.5:4].
我的程序如下: clear >> x=-2:0.5:2; >> y=x; >> z=0:0.5:4; >> [X,Y,Z]=meshgrid(x,y,z); >> n=cos(Z).*exp(-(X.^2+Y.^2)/4); >> [pX,pY,pZ]=gradient(n); >> contour3(n); ??? Error using ==> contourc Contour data must have 2 dimensions. Error in ==> D:\MATLAB6p5\toolbox\matlab\specgraph\contours.m On line 57 ==> CS=contourc(varargin{numarg_for_call}); Error in ==> D:\MATLAB6p5\toolbox\matlab\specgraph\contour3.m On line 80 ==> [c,msg] = contours(varargin{1:nin}); |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19 ![]() |
![]()
contour3的输入矩阵必须是二维的,但你的n是三维矩阵,如果改为:
contour3(n(:,:,1));%n的第一页,n共有9页 倒是能画出图来,但不知是不是符合你的要求。 |
![]() |
![]() |