У меня есть массив (1000 x 8) значений, сгенерированных из нормального логарифмического распределения, представляющего процент отмирания бактерий на поверхности через час.Проблема в том, что некоторые значения больше 100%, поэтому я хотел бы заменить их случайным значением от 0 до 1.
dieOff=zeros(1000,8); %make empty 1000X8 array
m = 0.9; % 90% die-off
v = 0.01;% std from experiment
mu = log((m^2)/sqrt(v+m^2)); %conver to lognorm
sigma = sqrt(log(v/(m^2)+1));
dieOff=lognrnd(mu,sigma,n,k);% generate values
dieOff(dieOff>1)=rand(); %replace with random
Но похоже, что rand()
производит только 1 значение и заменяетвсе значения, которые> 1 с тем же значением, которое не то, что я хотел бы.Как я могу исправить это в аккуратном формате?
histogram(dieOff)
![enter image description here](https://i.stack.imgur.com/H8Apg.png)