x=0:0.001:0.03;
y=0:0.001:0.03;
z=(x.*exp(-x*800)+y.*exp(-y*800)-(x+y).*exp(-(x+y)*800))/(exp(-x*800)+exp(-y*800)-exp(-(x+y)*800));
plot3(x,y,z);
xlabel('x');ylabel('y');zlabel('z');
grid on;
提示:“错误使用 plot3,矢量长度必须相同。”
想要达到图里的效果
从你给出的表达式分析,出现提示:“错误使用 plot3,矢量长度必须相同。”的主要原因是除号前少标了一个小圆点。即
原为:z=(x.*exp(-x*800)+y.*exp(-y*800)-(x+y).*exp(-(x+y)*800))/(exp(-x*800)+exp(-y*800)-exp(-(x+y)*800));
应为:z=(x.*exp(-x*800)+y.*exp(-y*800)-(x+y).*exp(-(x+y)*800))./(exp(-x*800)+exp(-y*800)-exp(-(x+y)*800));
如想要达到图里的效果,建议不要使用plot3()函数,可以使用surf()函数或mesh()函数。
实现代码:
x==0:0.001:0.03;y=0:0.001:0.03;
[X,Y] = meshgrid(x,y);
Z=(X.*exp(-X*800)+Y.*exp(-Y*800)-(X+Y).*exp(-(X+Y)*800))./(exp(-X*800)+exp(-Y*800)-exp(-(X+Y)*800));
surf(X,Y,Z)
xlabel('x');ylabel('y');zlabel('z');
用两种方法绘制的图形。
z的长度是1,然后怎么改
追答所以求z的方程式有错误 你可以用for循环 如果不会用点的话