Matlab - Vector de 1 y 0, 1 si f(i)>0 y 0 si f(i)<=0

 
Vista:
sin imagen de perfil

Vector de 1 y 0, 1 si f(i)>0 y 0 si f(i)<=0

Publicado por Pablo (1 intervención) el 09/06/2018 03:34:46
Hola, es mi primer publcación en el blog, asique espero que me ayuden!
Quiero realizar una función de Matlab que reciba a un vector V, de N posiciones y me devuelva un vector del mismo tamaño que V, el cual tenga 1 en las posiciones que V es positivo, y 0 en las posiciones donde V es menor o igual a 0.

el código que realice es el siguiente:

1
2
3
4
5
6
7
8
9
10
function  Xs  = SoloPositivo(Xv)
L=length(Xv);
Xs=zeros(1,L);
for i=0:L
if Xv(i)>0
    Xs(i)=1;
elseif Xv(i)<=0
    Xs(i)=0;
end
end



el error que me marca es :
" Subscript indices must either be real positive integers or logicals.

Error in SoloPositivo (line 5)
if Xv(i)>0"


Que debería cambiar? Hay alguna función que ya haga esto? Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Vector de 1 y 0, 1 si f(i)>0 y 0 si f(i)<=0

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 08/07/2018 22:00:37
el primer índice en Matlab es el 1 y no el 0 como en otros programas como Java y C++

1
2
3
4
5
6
7
8
9
10
function  Xs  = SoloPositivo(Xv)
L=length(Xv);
Xs=zeros(1,L);
for i=1:L
if Xv(i)>0
    Xs(i)=1;
elseif Xv(i)<=0
    Xs(i)=0;
end
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar