编写一个M函数文件。 它具有以下功能:(A)根据指定的半径,画出蓝色圆周线;(B)可以通过输入字符串,改变圆周线的颜色、线型;(C)假若需要输出圆面积,则绘出圆。
(1)
function [S,L]=exm060201(N,R,str)
% exm060201.m The area and perimeter of a regular polygon (正多边形的面积和周长)
% N The number of sides
% R The circumradius
% str A line specification to determine line type/color
% S The area of the regular polygon
% L The perimeter of the regular polygon
% exm060201 用蓝实线画半径为 1 的圆
% exm060201(N) 用蓝实线画外接半径为 1 的正 N 边形
% exm060201(N,R) 用蓝实线画外接半径为 R 的正 N 边形
% exm060201(N,R,str) 用 str 指定的线画外接半径为 R 的正 N 边形
% S=exm060201(...) 给出多边形面积 S ,并画相应正多边形填色图
% [S,L]=exm060201(...) 给出多边形面积 S 和周长L,并画相应正多边形填色图
% Zhang Zhiyong 编写于 2006-1-31
switch nargin
case 0
N=100;R=1;str='-b';
case 1
R=1;str='-b';
case 2
str='-b';
case 3
;
otherwise
error('输入量太多。');
end;
t=0:2*pi/N:2*pi;
x=R*sin(t);y=R*cos(t);
if nargout==0
plot(x,y,str);
elseif nargout>2
error('输出量太多。');
else
S=N*R*R*sin(2*pi/N)/2;
L=2*N*R*sin(pi/N);
fill(x,y,str)
end
axis equal square
box on
shg
(2)
[S,L]=exm060201(6,2,'-g')
S =
10.3923
L =
12.0000