btcq.net
当前位置:首页 >> x=%3:0.1:3;y=%3:0.1:3; [x,y]=mEshgriD(x,y); z=4*x.... >>

x=%3:0.1:3;y=%3:0.1:3; [x,y]=mEshgriD(x,y); z=4*x....

错误根源在于你的这条语句:z=4*x.*exp^(-x.^2-y.^2); 你本想使用指数函数exp,却多输入了符号"^";去掉这个多余的^,问题自然解决:

不完整?这样行吗:x=(-3:0.1:3); y=x;[x,y]=meshgrid(x,y);z=y.*y/2-x.*x/2+x.^4/4;contour(x,y,z,50) 或者: x=(-3:0.1:3); y=x;[x,y]=meshgrid(x,y);z=y.*y/2-x.*x/2+x.^4/4;contour(x,y,z,500)view(22,62)打字不易,如满意,望采纳.

用mesh绘制的三个维度的矩阵的size应该是一样的,所以z2=1这一句有问题.用z2 = ones(size(x))可以解决.关于绘图后视图角度的问题.由于你在没有绘图时就使用了hold on命令,此时matlab会自动开启一个绘图窗口,但默认是

步长是 0.3, 你的格子线 如果从 [-10,-10] 画起,它不可能 正好画到 [10,10] 这个位置.步长 用 0.2,0.25,0.4,0.5,1.0 这些都可以.分辨率不同,但坐标点一样的地方,z 相等.C 语言要用 fabs() 函数, 如果用 abs(),它的计算结果是整型,带来误差.z = fabs(pi*1.01*81.5/3*sin(sqrt(x*x+y*y)/180.0*pi));x,y,z,dx,dy 都要用 float, 不要用整型.

mesh中的参数最多是二维数组,但是你的输入是三维的!Please check!

X=-4:0.01:4; Y=-4:0.01:4;[X,Y]=meshgrid(X,Y);z=3*(1-X).^2.*exp(-(X.^2)-(Y+1).^2)-10*(X/5-X.^3-Y.^5).*exp(-X.^2-Y.^2)-1/3*exp(-(X+1).^2-Y.^2);subplot(2,1,1)plot3(X,Y,z)subplot(2,1,2)surf(X,Y,z)

matlab代码:[X Y]=meshgrid(-4:0.1:4,-4:0.1:4);Z=3*(1-X).^2.*exp(-(X.^2)-(Y+1).^2)-10*(X/5-X.^3-Y.^5).*exp(-X.^2-Y.^2)-1/3*exp(-(X+1).^2-Y.^2);subplot(2,1,1); mesh(X,Y,

你使用x和y产生的格点矩阵是[a,b],所以求z时要使用a和b,不能使用x和yclear all;clc;x=1:3;y=4:6;[a,b]=meshgrid(x,y);z=a.*b;就可以了.建议生成格点矩阵时使用像[X,Y]这样的变量,以示区别.

[X,Y]=meshgrid(x,y) [X,Y]=meshgrid(x)与[X,Y]=meshgrid(x,x)是等同的 [X,Y,Z]=meshgrid(x,y,z)生成三维数组,可用来计算三变量的函数和绘制三维立体图 例如例题1: x=-3:0.1:3;y=1:0.1:5; [X,Y]= meshgrid(x,y) ; 例题1生成的图形 Z=(X+Y).^2; plot3(X,Y,

这条曲线可以认为是曲面F(u1,u1)和平面u1+u2=5的交线

相关文档
hhjc.net | mcrm.net | hyqd.net | xyjl.net | lhxq.net | 网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com