Matlab在向量上应用函数

时间:2014-12-29 08:12:00

标签: matlab matrix vector

我是Matlab的新手

我有一个0和1值的向量。另外我有两个函数,第一个用于0值,第二个用于1个值。

v = [1;0;1;0;0;1]
function for0
function for1 

问题是我如何在向量的元素上应用这些函数,具体取决于向量的元素。在1个值上我想应用 for1 ,在0值上我想要应用 for0

这些函数对值应用不同的概率分布,分布的类型取决于0或1的值。

谢谢

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;