如何用matlab绘出函数Z=(1/(sqrt(((1-x)^2)+(y^2))))+(1/(sqrt(((1+x)^2)+(y^2))))的三维图?

如题所述

clear all;clc

[x,y]=meshgrid(0:0.1:1,0:0.1:1);

z=1./sqrt((1-x).^2+y.^2)+1./sqrt((1+x).^2+y.^2);

surfc(x,y,z)

结果见下图。

另外,三维图类型有很多,上面的surfc可以换成plot3等等。

最后建议不要用这么多括号,有几个括号是冗余的。

追问

为什么要在式子上多加几个点号呢?

追答

matlab最常涉及到运算有三类:纯粹数、数组、矩阵
在这里主要说前两者的区别,纯粹数的运算和咱们平常一样的,比如计算3乘以5,matlab里面就是:3*5;数组运算有略有区别,数组之间的+-和纯数是一样的,但是乘、除、幂等情况,需要额外加一个“.”,等你学习得更深入,你会发现matlab是通过“.”来区别数组和矩阵运算的。
在本例中,函数z对x和y做图,x和y都是数组,数组之间的乘除幂需额外加“.”。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答