MATLAB怎么生成一组和为定值的随机数
展开全部
参考代码:
clc
clear all
close all
Sum = 30; % 指定的和
N = 5; % 随机数个数
r = zeros(1, N); % 生成的随机数
sumtemp = floor(Sum/N); % 每生成一个随机数后,剩余的和
for i=1:(N-1)
r(i) = sumtemp.*rand();
sumtemp = floor((Sum - r(i))/(N-i) );
end
r(N) = Sum - sum(r(1:N-1));
fprintf(1, '生成的随机数为:');
disp(r);
%-- 验证 --%
sum_r = sum(r);
fprintf(1, '生成的随机数的和为:%d\n', sum_r);
输出
生成的随机数为: 4.1690 1.9026 8.5520 0.3445 15.0320
生成的随机数的和为:30
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询