gpt4 book ai didi

matlab - 在MATLAB中以0到1和1到0的不同概率替换向量的元素

转载 作者:行者123 更新时间:2023-12-04 04:39:39 24 4
gpt4 key购买 nike

是否有可能替换 A 中的零由 1,以及 A 中的 1由 0 以固定但不同的概率?

例如:
A = [0 1 1 0 1 0 1 0]我想用概率 1/4 用 1 替换 0,用概率 1/3 用 0 替换 1。

我正在尝试这样的事情,但它不适用于概率。我这里的数组是 Sent ,其中 0 和 1 不是均匀分布的,但具有一定的概率(3/7 个 0 和 4/7 个 1),在 Sent 中捕获变量,但现在我需要将其更改为 Received ,有不同的概率。

prob=3/7; 
n=100;
pdatodo=1/3;
pdotoda=1/4;
Sent=rand(n,1)>prob;
Received=Sent;
Sent(Received == 0) = 1>pdotoda; Sent(Received == 1) = 0>pdatodo;

最佳答案

A = [0,1,1,0,1,0,1,0]

%// first remember the positions of the orginal 1s and 0s
i0 = find(A==0);
i1 = find(A==1);

p0to1 = 1/4;
p1to0 = 1/3;

%//Create the replacements vectors that will have the size of the original number of 0s and 1s respectively
r0to1 = rand(size(A(i0))) < p0to1;
r1to0 = rand(size(A(i1))) < p1to0

%//Put the replacement vectors in the correct indices (found at the start)
A(i0(r0to1)) = 1;
A(i1(r1to0)) = 0;

关于matlab - 在MATLAB中以0到1和1到0的不同概率替换向量的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19087524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com