1樓:妳的天真呢
參考代原始碼:1
2345
6789
1011
1213
1415
1617
clcclear 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) );
endr(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
2樓:春曖曖開花
a = rand(1,10)b = a/sum(a(:))** = sum(b(:))a = 0.
1576 0.9706 0.9572 0.
4854 0.8003 0.1419 0.
4218 0.9157 0.7922 0.
9595 b = 0.0239 0.1470 0.
1450 0.0735 0.1212 0.
0215 0.0639 0.1387 0.
1200 0.1453 ** = 1
matlab怎麼生成一組和為定值的隨機數
3樓:匿名使用者
先生成一組隨機來數,自然後把和歸一化,再乘以要求總和就可以了例如要生成10個總和為10的隨機數
a=rand(10,1);
a=10*a/sum(a);
這樣a就是10個和為10的隨機數
其實 a/sum(a)就是總和為1的隨機數
4樓:匿名使用者
參考**:
clcclear all
close all
sum = 30; % 指定復的和制
n = 5; % 隨機bai數du個數r = zeros(1, n); % 生成的隨機數sumtemp = floor(sum/n); % 每生zhi成乙個隨機數後,剩餘的dao和
for i=1:(n-1)
r(i) = sumtemp.*rand();
sumtemp = floor((sum - r(i))/(n-i) );
endr(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
怎樣用matlab產生一組和為1的隨機數?
5樓:土豆他哥哥
x=rand(1,3);y=sum(x);r=x/y
6樓:匿名使用者
>> x=rand(1,10);y=sum(x);r=x/y%r就是來
隨機數和為
源一,且都是(0,1)內的數
r =columns 1 through 70.1623 0.0228 0.
1636 0.1133 0.0175 0.
0499 0.0980
columns 8 through 10
0.1716 0.1729 0.0282>> sum(r)
ans =
1.0000
>>
c#中怎樣用random產生1到10之間的隨機數
7樓:墨汁諾
1、@echo off
rem 用random產生1到10之間的乙個隨機數set num=%random%
set /a num=num%%10+1
echo %num%
1到1000:
2、rnumber.next(1,1000);
random rnumber = new random();//例項化乙個隨機數專物件
rnumber.next(1,10);//產生乙個1到10之間屬的任意乙個數
rnumber.next(1,1000);//產生乙個1到1000之間的任意乙個數
8樓:匿名使用者
random randobj = new random();
int start=1;//隨機數可取該下界值int end=10;//隨機數不能取該上界值for( int j= start ; j < end; j++ ) ",randobj.next( start, end) );
}就可以生成1-10之間的隨機數了
你再把start=1和end=1000就可以了 產生1到1000之間的隨機數
9樓:匿名使用者
random rnumber = new random();//例項化乙個隨機數物件
rnumber.next(1,10);//產生乙個1到10之間的任意乙個數
rnumber.next(1,1000);//產生乙個1到1000之間的任意乙個數
10樓:匿名使用者
random rnumber = new random();
rnumber.next(1,10);
rnumber.next(1,1000);
matlab 如何生成一組正隨機數
11樓:匿名使用者
matlab函式randn:產生正態分佈的隨機數或矩陣的函式randn
產生均值為0,方差 σ^2 = 1,標準差σ = 1的正態分佈的隨機數或矩陣的函式.
用法:y = randn(n)
返回乙個n*n的隨機項的矩陣.如果n不是個數量,將返回錯誤資訊.
y = randn(m,n) 或 y = randn([m n])返回乙個m*n的隨機項矩陣.
y = randn(m,n,p,...) 或 y = randn([m n p...])
產生隨機數組.
12樓:轉基因牛
abs(randn(1,100));
用matlab或spss將一組資料怎麼擬合成多元多項式
程式 clear clc x1 2187.45 2482.49 2969.52 3585.72 4282.14 4950.91 5813.56 6801.57 7806.53 8201.23 9510.91 x2 701.24 724.57 746.62 778.27 800.80 827.75 8...
用matlab對一組資料進行擬合後,怎麼直接顯示擬合函式的影象
matlab是一抄個很強大的資料處理軟 襲件,是人們進行資料分析的得力助手。一般我們做社會調研或科學研究時,會得到很多實驗資料。當需要研究兩個變數之間的關係時,經常要用到曲線擬合。曲線擬合不僅能給出擬合後的關係式,還能用圖形直觀的展現出變數之間的關係。其實用matlab做曲線擬合很便捷,下面將以兩個...
C 程式設計 用過載函式實現分別求一組整數和一組雙精度數的最小
include int a float b 10 int a length sizeof a sizeof int int b length sizeof b sizeof float int min int a int min a while a length min a符合你的要求不?你的程式需...