MATLAB 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和
时间: 2024-09-24 20:15:23 浏览: 117
在MATLAB中,你可以通过循环结构和用户输入来实现这个功能。下面是一个简单的示例,演示了如何获取一系列数字直到用户输入0为止,然后计算这些数字的平均值和总和:
```matlab
% 初始化变量
total_sum = 0;
count = 0;
% 循环读取用户输入
while true
input_num = input('请输入一个数字(输入0结束输入):', 's');
% 检查输入是否为0
if strcmpi(input_num, '0')
break; % 结束输入
end
try
num = str2double(input_num); % 将字符串转为数值
total_sum = total_sum + num; % 累加数字
count = count + 1; % 计数器增加
catch
disp('无效输入,只能接受数字!');
continue; % 如果输入不是数字,则跳过本次循环
end
end
% 计算平均值
if count > 0
average = total_sum / count;
else
average = NaN; % 若未输入任何数字,平均值设为NaN
end
% 显示结果
fprintf('所有输入数字的和为:%d\n', total_sum);
fprintf('平均值为:%g\n', average);
```
在这个代码里,我们首先初始化总和(`total_sum`)和计数器(`count`),然后进入一个无限循环,不断请求用户的输入。只有当用户输入0时,才会跳出循环。对于每次非零输入,我们会尝试将其转换为数字并累加到总和中。如果输入无效(不是数字),则会捕获异常并提示用户重新输入。
阅读全文