你好,代码供参考,如有帮助,还请帮忙点个宝贵的采纳支持一下呢
函数:
function area = calculateArea(shape, params)
switch lower(shape)
case 'rectangle'
area = rectangleArea(params);
case 'square'
area = squareArea(params);
case 'circle'
area = circleArea(params);
case 'triangle'
area = triangleArea(params);
end
end
% 计算长方形面积
function area = rectangleArea(params)
if(length(params)==2)
area = params(1)*params(2);
else
error('The number of the parameters is incorrect\n')
end
end
% 计算方形面积
function area = squareArea(params)
if(length(params)==1)
area = params(1)^2;
else
error('The number of the parameters is incorrect\n')
end
end
% 计算圆形面积
function area = circleArea(params)
if(length(params)==1)
area = pi*params(1)^2;
else
error('The number of the parameters is incorrect\n')
end
end
% 计算三角形面积
function area = triangleArea(params)
if(length(params)==3)
params = sort(params);
if(params(1)+params(2)>params(3))
p = sum(params)/2;
area = sqrt(p*(p-params(1))*(p-params(2))*(p-params(3)));
else
error('three sides can not construct triangle')
end
else
error('The number of the parameters is incorrect\n')
end
end
示例主程序
% 示例
area1 = calculateArea('rectangle', [3,4])
area2 = calculateArea('square', 5)
area3 = calculateArea('circle', 5)
运行结果:
area1 =
12
area2 =
25
area3 =
78.539816339744831