how to code probability in general??
1 次查看(过去 30 天)
显示 更早的评论
Suppose I have a matrix A=magic(2).
1) Each entry mutates with probability p. 2) If such mutation does occur, then with probability (1-q) a random integer between 1 and 2^2 is selected as the new value and replaces the old value.
How would I code this? I've been thinking about this for a while but I cannot come up with anything! Like, I would love to provide at least what I have so far but I haven't gotten a single clue.
Can this be coded even? At this stage it feels like it cannot be.. Thanks a lot in advance, any help is very much appreciated.
3 个评论
采纳的回答
Ahmed A. Selman
2013-4-15
First what is magic(2)? I thought the smallest magic matrix comes (3-by-3) since Magic (2) doesn't satisfy the condition (sum each row=sum each column=sum each diagonal=const.). But I think you meant any matrix with possible permutation, anyway.
For a magic matrix, when you could replace such an element by an integer, selected between 1 and n^2 (n being the size of magic(n) ), it will probably be the same value in order to keep the properties of the original matrix the same.
If this condition is to be ignored in the resulting matrix, then try to initiate a (flag matrix) which is the same size as the original matrix but with all elements zeros. It works as:
- During a simple read loop, when the permutation occurs, flag stores the first permuted elements as (1,1) the second as (2,2).. etc.
- In a second loop, select or generate random integers as required, and replace the flagged elements with them.
- In a third loop, replace the remaining zeros of the flag matrix with elements from the original matrix. The flag matrix will be the required one (tho it will absolutely posses different properties than the original one).
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!