Adding to an array with constraints
4 views (last 30 days)
Show older comments
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 Comments
Image Analyst
on 25 Jul 2016
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.
Answers (1)
Azzi Abdelmalek
on 25 Jul 2016
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
See Also
Categories
Find more on Random Number Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!