Matlab - evitar bucle

 
Vista:

evitar bucle

Publicado por cucu (38 intervenciones) el 21/05/2009 20:37:00
hola, me gustaría saber si es posible hacer, evitando un bucle la siguiente operación:

tengo dos vectores fila, y quiero conseguir otro que en todos sus elementos sea el mayor de los otros 2, por ejemplo:

x = [4, 7, 9];
y = [3, 8, 2];

La solución sería:

z = [4, 8, 9]

Gracias. Saludos
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

RE:evitar bucle

Publicado por ramiro (54 intervenciones) el 21/05/2009 23:13:53
La solución es simple, "piensa" vectorialmente.
>> x=[4 7 9]

x =

4 7 9

>> y=[3 8 2]

y =

3 8 2

>> z=max(x,y)

z =

4 8 9
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

RE:evitar bucle

Publicado por cucu (38 intervenciones) el 22/05/2009 09:14:13
uyyy, que mal lo hice! esto era solo un ejemplo. En realidad lo que quiero hacer no es tan simple. En realidad lo que quiero es que hagan diferentes cosas, aver si me explico mejor con este nuevo ejemplo:

Funcion salida:

x-y -> si x >y
0 -> resto de casos

osea:

>> x=[4 7 9]

x =

4 7 9

>> y=[3 8 2]

y =

3 8 2

z = [1 0 7]

Gracias y perdón por la confusión
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

RE:evitar bucle

Publicado por Kike (304 intervenciones) el 22/05/2009 15:37:07
x = [4 7 9]
y = [3 8 2]
z = (x - y).*(x > y)
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

RE:evitar bucle

Publicado por cucu (38 intervenciones) el 23/05/2009 11:45:23
Perfecto! muchísimas gracias.

Saludos
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