MATLAB画图怎么画出这个图像

发布网友 发布时间:2022-04-23 16:58

我来回答

2个回答

热心网友 时间:2023-10-09 23:03

这是四维绘图,而且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');

 

热心网友 时间:2023-10-09 23:03

你这是四维空间作图啊....

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com