我是Matlab的新手
我有一个0和1值的向量。另外我有两个函数,第一个用于0值,第二个用于1个值。
v = [1;0;1;0;0;1]
function for0
function for1
问题是我如何在向量的元素上应用这些函数,具体取决于向量的元素。在1个值上我想应用 for1 ,在0值上我想要应用 for0 。
这些函数对值应用不同的概率分布,分布的类型取决于0或1的值。
谢谢
答案 0 :(得分:1)
一种方法是创建两个索引变量,i0和i1,其中:
i0 = find(v==0);
i1 = find(v==1);
仅将v(i0)传递给函数for0并且仅将v(i1)传递给函数for1。 然后将两个输出组合成v,顺序如下:
out0 = for0(v(i0));
out1 = for1(v(i1));
v(i0) = out0;
v(i1) = out1;