用MATLAB画方程的图我想画方程x^2+y^2+z^2=10的图象该怎么画一般地,y)=0和f(x,y,z)=0的图象怎么画
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 05:29:13
用MATLAB画方程的图我想画方程x^2+y^2+z^2=10的图象该怎么画一般地,y)=0和f(x,y,z)=0的图象怎么画
用MATLAB画方程的图
我想画方程x^2+y^2+z^2=10的图象该怎么画
一般地,y)=0和f(x,y,z)=0的图象怎么画
用MATLAB画方程的图我想画方程x^2+y^2+z^2=10的图象该怎么画一般地,y)=0和f(x,y,z)=0的图象怎么画
f(x,y)=0的图像直接用ezplot就行了,如
f=@(x,y)x.^2+y.^2-10;%定义函数f=x^2+y^2-10
ezplot(f)%画x^2+y^2-10=0的图像
axis equal;
f(x,y,z)=0的图像没有现成的函数可以画,但可以利用isosurface函数绘制三角网格图,注意不是我们用mesh或surf之类得到的表面图.下面是例子
f=@(x,y,z)x.^2+y.^2+z.^2-10;%定义函数f=x^2+y^2+z^2-10
[x,y,z]=meshgrid(linspace(-4,4,25));%设定格子大小和范围
val=f(x,y,z);
[p,v]=isosurface(x,y,z,val,0);%用isosurface得到函数f=0图形的点和面
patch('faces',p,'vertices',v,'facevertexcdata',jet(size(v,1)),'facecolor','w','edgecolor','flat');%用patch绘制三角网格图并设定色彩
view(3);grid on;axis equal
但其实如果你所要绘制的只是球面的话有专用函数sphere,它得到的是表面图.例如
[x,y,z]=sphere(25);
r=sqrt(10);
mesh(r*x,r*y,r*z)
axis equal