How to create a weighted random number in matrix?

5 ビュー (過去 30 日間)
Irina
Irina 2013 年 8 月 2 日
I want to assign weighted random values to a matrix. The two values I am assigning are 0 and 1. A point needs to have a 60% probability of being assigned 0 and 40% of being assigned 1. How do I code that?

回答 (1 件)

John Petersen
John Petersen 2013 年 8 月 2 日
a = rand(10); % 10x10 matrix
b = a>.6; % all elements of a > .6 are 1 all < .6 are 0
60% should be 1's, 40 % should be zeros You can test by sum(sum(b))/100
  2 件のコメント
Irina
Irina 2013 年 8 月 2 日
I phrased the question incorrectly, I'm sorry. Point values are either 0 or 1. The value of point (x,y) is based on the value of point (x-1,y). If (x-1,y) is 1, then (x,y) has a 60% chance of being 1 and 40% chance of being 0. Do you know how to code for that?
John Petersen
John Petersen 2013 年 8 月 9 日
編集済み: John Petersen 2013 年 8 月 9 日
I don't see how that makes the problem different.
a = rand(1)>.6;
This says that the value of 'a' will be either 0 or 1 and has a 60% chance of being a 1.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeRandom Number Generation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by