📄 exn523.m
字号:
%《MATLAB及其在理工课程中的应用指南》(十一五规划版)第五章例5-2-3程序
% 空间二次曲面的绘制
% 西安电子科技大学出版社出版 陈怀琛编著 2007年5月
%
clear
a=input('a=');b=input('b='); %输入参数,N为网格线的数目
c=input('c=');N=input('N=');
xgrid= linspace(-abs(a),abs(a),N); % 建立x网格坐标
ygrid= linspace(-abs(b),abs(b),N); % 建立y网格坐标
[x,y]=meshgrid(xgrid,ygrid);
z=c*sqrt(1-y.*y/b/b-x.*x/a/a);u=1; % u=1,表示z要取正负值
z1=real(z); % 取z的实部z1
for k=2:N-1 % 以下七行程序为取消z中含虚数的点
for j=2:N-1
if imag(z(k,j))~=0 z1(k,j)=0; end
if all(imag(z([k-1:k+1],[j-1:j+1])))~=0 z1(k,j)=NaN;
end
end
end
surf(x,y,z1),hold on % 画空间曲面
if u==1 z2=-z1;surf(x,y,z2); % u=1时加画负半面,并加负坐标轴
axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
end
xlabel('x'),ylabel('y'),zlabel('z')
axis equal,hold off,
set(gcf,'color','w')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -