i wan to generate the random number between two number with condition
조회 수: 1 (최근 30일)
이전 댓글 표시
i have this kind of code:-
mini=[2 0.2]; maxi=[20 10]; x=zeros(50,2);
for i= 1:var
x(:,i)=mini(i)+(maxi(i)-mini(i))*rand(50,1);
end
i want to generate the number which is 40% less than the number in the 1st coloum for example.
2-0.8,3-1.2,4-1.6,5-2,6-2.4,10-4,11-4.4,15-6,20-7.
댓글 수: 0
채택된 답변
Thiago Henrique Gomes Lobato
2020년 6월 21일
편집: Thiago Henrique Gomes Lobato
2020년 6월 21일
If your second column has values equal to 40% of the first, then they are not random. You can vectorize this in the following form:
VectorSize = 5;
mini=[2]; maxi=[20 ]; x=zeros(VectorSize,1);
x=mini+(maxi-mini)*rand(VectorSize,1);
% Generate extra columns
NofExtraCollums = 1;
x = x.*(0.4.^([0:NofExtraCollums]))
x(:,2)./x(:,1)
x =
18.4878 7.3951
2.0207 0.8083
10.3241 4.1296
9.6383 3.8553
10.2965 4.1186
ans =
0.4000
0.4000
0.4000
0.4000
0.4000
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!