Adding to an array with constraints

조회 수: 3 (최근 30일)
sasso samer
sasso samer 2016년 7월 25일
댓글: sasso samer 2016년 7월 25일
I have a vector A = [0.2 0.3 0.1 0.3 0.4 0.0]
and i will add a random number to the minimum number of vector A which is here 0. But i have a constraint that the sum of every 2 consecutive numbers can't exceed 0.5 and if the random number which is added made it exceed the 0.5 then add another random number untill the condition is satidfied
  댓글 수: 2
Image Analyst
Image Analyst 2016년 7월 25일
A robust solution would require you to specify the range of the input values in A, and the range of the random numbers. Otherwise, just add random numbers between minus 2 billion and minus 1 billion to your array and that will most likely work, at least for the A you have here.
sasso samer
sasso samer 2016년 7월 25일
rand(0,10)/100

댓글을 달려면 로그인하십시오.

답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2016년 7월 25일
A=[0.2 0 0.3 0.1 0.3 0.4 0.0]
B=[eps a eps]
idx=find(B==0)
for k=idx
c=max(B(idx-1),B(idx+1))
A(idx-1)=(0.5-c)*rand
end

카테고리

Help CenterFile Exchange에서 Random Number Generation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by