我正在尝试使用以下代码在MATLAB中绘制一个圆锥体。然而,当MATLAB生成图形时,表面上会出现一个间隙,如下图所示。有人能否建议一种关闭它的方法?clearvars; close all; clc; [theta, r] = meshgrid(-pi:0.1:pi, -4:0.1:6); x = (r-1).*cos(theta); y = (r-1).*sin(theta); z = r; % 3-D plot figure surf(x, y, z); xlabel("x"); ylabel("y"); zlabel("z"); zlim([0 8]); axis square
问题是theta的列表在未达到pi就停止了,因为0.1的增量未达到上限。 例如,您可以使用以下行: [theta, r] = meshgrid(-pi:(2*pi/20):pi, -4:0.1:6); 完成20步圆形。
linspace
通常是一个更简单的选择,如果你的端点比间隔大小更重要。 - Wolfie