MATLAB中如何画出x.^2+y.^2+z.^2=1的图像.我知道可以写成z=sqrt(1-y.^2-x.^2);但是画出来只有一半.而且又不能写成1=x.^2+y.^2+z.^2;有会的请说下啊

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/10 15:57:39
MATLAB中如何画出x.^2+y.^2+z.^2=1的图像.我知道可以写成z=sqrt(1-y.^2-x.^2);但是画出来只有一半.而且又不能写成1=x.^2+y.^2+z.^2;有会的请说下啊M

MATLAB中如何画出x.^2+y.^2+z.^2=1的图像.我知道可以写成z=sqrt(1-y.^2-x.^2);但是画出来只有一半.而且又不能写成1=x.^2+y.^2+z.^2;有会的请说下啊
MATLAB中如何画出x.^2+y.^2+z.^2=1的图像.
我知道可以写成z=sqrt(1-y.^2-x.^2);但是画出来只有一半.而且又不能写成1=x.^2+y.^2+z.^2;有会的请说下啊

MATLAB中如何画出x.^2+y.^2+z.^2=1的图像.我知道可以写成z=sqrt(1-y.^2-x.^2);但是画出来只有一半.而且又不能写成1=x.^2+y.^2+z.^2;有会的请说下啊
法一:
>> sphere
>> axis square
法二:
参数方程来画
clc
clear
% by friendchj
r=1;%半径
x0=2;%中心
y0=2;
z0=2;
theta=(0:0.1:2)*pi;
phi=(0:0.1:2)*pi;
x=zeros(length(theta),length(phi));
y=x;
z=x;
for i=1:length(theta)
for j=1:length(phi)
x(i,j)=r*sin(theta(i))*cos(phi(j))+x0;
y(i,j)=r*sin(theta(i))*sin(phi(j))+y0;
end
z(i,:)=r*cos(theta(i))+z0;
end
surf(x,y,z)
axis square