function creating new vector

1 次查看(过去 30 天)
Lee
Lee 2013-5-3
i need to create a function that has an input of vector with 10 elements and it creates a new vector containing only elements between 0 and 1 times 2 minus 1 i cant figure out what i did wrong
function likelehood=like(x) counter=0; w=zeros(1,10); for i=1:10 if 0<x(1,i)<1; counter=counter+1; w(1,counter)=(2*x(1,i)-1)+w(1,i); end likelehood=w; end

回答(2 个)

Carlos
Carlos 2013-5-3
编辑:Carlos 2013-5-3
if 0<x(1,i)<1
should be
if x(1,i)>0 && x(1,i)<1

Youssef  Khmou
Youssef Khmou 2013-5-3
hi, try this function :
function y=likelihood(x)
T=x((x>0)&(x<1));
y=2*T-1;

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by