matlab 函数文件编程求解 求问题

编程实现矩形、三角形、圆形的面积计算。a)建立函数area=calculateArea(shape,params),保存为函数文件calculateArea.m。其中,shape可以为’rectangle’,‘square’,‘circle’,params为一个向量,存储计算面积所需的参数,比如矩形包括两个参数,则params是一个包含两个元素的数组。例:calculate(‘rectangle’,[3,4]);calculate(‘circle’,5);b)针对不同的形状编写面积计算的函。rectangleArea(params),square(params),circle(params),返回面积值。9の在calculateArea函数中调用步骤b的三个函数,实现三种形状的面积计算的功能。为了使程序更完善,添加代码检查针对每种形状参数矩阵的大小,若不对,则输出“Thenumber ofthe parameters is incorrect.”,然后程序返回。
!

img

你好,代码供参考,如有帮助,还请帮忙点个宝贵的采纳支持一下呢
函数:

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