如何在MATLAB中编写一个函数,既能计算一组包含十个数的数值列表的平均值,又能计算其总和?
时间: 2024-11-30 18:14:14 浏览: 2
新建 Microsoft Word 文档_平均值计算_
在MATLAB中,你可以创建一个通用函数,以便同时处理求平均值和求总和。下面是一个简单的例子:
```matlab
function [average, total] = calculate_stats(numbers)
% 检查输入是否为向量,如果为空则返回错误信息
if ~isvector(numbers) || numel(numbers) < 10
error('Input must be a non-empty vector of at least 10 numbers.');
end
% 计算平均值
average = mean(numbers);
% 计算总和
total = sum(numbers);
% 返回结果作为结构体
result = struct('average', average, 'total', total);
[average, total] = deal(result); % 将结构体元素解包成单独的变量
end
% 使用示例
numbers = [1 2 3 4 5 6 7 8 9 10];
[avg, total] = calculate_stats(numbers);
disp(['Average: ', num2str(avg)]);
disp(['Total: ', num2str(total)]);
```
在这个函数`calculate_stats`中,我们首先检查输入是否为一个非空的长度至少为10的向量。然后分别计算平均值和总和,并将它们打包到一个结构体中。最后通过解包结构体将结果转换为单独的变量返回。
阅读全文