MATLAB画图怎么画出这个图像我试了很多种方法,总是画不出下面这个函数的图像 f=sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 15:51:09
![MATLAB画图怎么画出这个图像我试了很多种方法,总是画不出下面这个函数的图像 f=sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9](/uploads/image/z/4095025-25-5.jpg?t=MATLAB%E7%94%BB%E5%9B%BE%E6%80%8E%E4%B9%88%E7%94%BB%E5%87%BA%E8%BF%99%E4%B8%AA%E5%9B%BE%E5%83%8F%E6%88%91%E8%AF%95%E4%BA%86%E5%BE%88%E5%A4%9A%E7%A7%8D%E6%96%B9%E6%B3%95%2C%E6%80%BB%E6%98%AF%E7%94%BB%E4%B8%8D%E5%87%BA%E4%B8%8B%E9%9D%A2%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E7%9A%84%E5%9B%BE%E5%83%8F+f%3Dsqrt%28%28x%2B2%29%5E2%2B%28y-2%29%5E2%2B%28z-2%29%5E2%29-sqrt%28%28x%2B2%29%5E2%2B%28y-2%29%5E2%2B%28z%2B2%29%5E2%29-9)
MATLAB画图怎么画出这个图像我试了很多种方法,总是画不出下面这个函数的图像 f=sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9
MATLAB画图怎么画出这个图像
我试了很多种方法,总是画不出下面这个函数的图像
f=sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9
MATLAB画图怎么画出这个图像我试了很多种方法,总是画不出下面这个函数的图像 f=sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9
这是四维绘图,而且xyz之间没有关系,不能降维,只能给你画f为定值的隐函数图像,为了好计算说明f可取整数.但是f在等于某些值时,这个方程无解,即没有xyz值满足你的方程,所以你画不出这个方程的图像.也就是sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)的值域在-3到3之间,要画出图则sqrt((x+2)^2+(y-2)^2+(z-2)^2)-sqrt((x+2)^2+(y-2)^2+(z+2)^2)-9-f=0必须有解,这时解出f可能的值就是6,7,8,和-9,-10,-11,-12.下面是f=8和-10时的图像.
clear all
[x,y,z]=meshgrid(-20:1:20,-20:01:20,-20:1:20);
f1=sqrt((x+2).^2+(y-2).^2+(z-2).^2)-sqrt((x+2).^2+(y-2).^2+(z+2).^2)+1;%f=-10
f2=sqrt((x+2).^2+(y-2).^2+(z-2).^2)-sqrt((x+2).^2+(y-2).^2+(z+2).^2)-1;%f=8
[d1,m1]=isosurface(x,y,z,f1,0);
[d2,m2]=isosurface(x,y,z,f2,0);
figure(1)
patch('faces',d1,'vertices',m1,'facevertexcData',jet(length(m1)),'facecolor','k','edgecolor','flat');
grid on
view(3);
xlabel('X'),ylabel('Y'),zlabel('Z');title('f=-10');
figure(2)
patch('faces',d2,'vertices',m2,'facevertexcData',jet(length(m2)),'facecolor','k','edgecolor','flat');
grid on
view(3);
xlabel('X'),ylabel('Y'),zlabel('Z');title('f=8');