下面是一个满足你要求的MATLAB函数M文件示例:
function drawPolygon(N)
% 绘制正N边形或单位圆
% 检查输入参数数量
if nargin == 0
% 没有输入量时,画出单位圆
theta = linspace(0, 2*pi, 100);
x = cos(theta);
y = sin(theta);
figure;
plot(x, y);
axis equal;
title('单位圆');
else
% 判断输入是否为自然数
if ~isnatural(N) || N <= 2
error('请输入大于2的自然数作为输入参数!');
else
% 绘制正N边形
theta = linspace(0, 2*pi, N+1);
x = cos(theta);
y = sin(theta);
figure;
plot(x, y);
axis equal;
title(['正', int2str(N), '边形']);
end
end
end
function flag = isnatural(n)
% 判断输入是否为自然数
flag = isnumeric(n) && isscalar(n) && n > 0 && mod(n, 1) == 0;
end
在调用这个函数时,如果不传入任何参数,则会绘制单位圆;如果传入大于2的自然数N,则会绘制正N边形;如果传入非自然数,则会给出错误提示。
例如:
drawPolygon(); % 绘制单位圆
drawPolygon(5); % 绘制正5边形
drawPolygon(10.5); % 错误提示
请注意,你需要将上述代码保存为一个以.m
为后缀的MATLAB函数文件,并确保在同一目录下运行或者添加到MATLAB的搜索路径中。
内容由零声教学AI助手提供,问题来源于学员提问