Obtain a specif value in a vector
이전 댓글 표시
Hi guys, I'm having a problem; let's say I have a code like the following:
clear
g = ones(1,1);
serv = (randi([0, 10], [10,10])).*g;
meanserv = mean(serv);
At this point, what I need is a value of g such that meanserv(1,1) is equal to 0.3 and meanserv(1,10) is equal to 0.7; I was thinking to use an fsolve or a simple while/if but I can't figure out how to obtain those results.
Thanks in advance.
댓글 수: 4
Adam
2019년 10월 22일
If you have the Statistics toolbox
doc normrnd
will give you normally distributed numbers from a population with a given mean, but a sample of 10 from this will give you a mean that is often a notable distance away from 0.3. The only way you could guarantee exactly 0.3 is to fix the numbers instead of taking random numbers. You could do a loop to get as close as possible to 0.3 if that is acceptable. Though as an aside I think I am correct in saying 0.3 cannot be exactly represented by a double anyway.
Giuseppe Pintori
2019년 10월 22일
Adam
2019년 10월 22일
Nothing changes in that while loop though!
Giuseppe Pintori
2019년 10월 22일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!