Programación Específica > Matlab

 evitar bucles

(1/1)

cucu:
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

Geo:
La función max hace eso precisamente:


--- Código: Matlab M ---x = [ 4 7 9 ];y = [ 3 8 2 ]; z = max( x, y ) Lo único a notar es que los parámetros para la función max deben tener las mismas dimensiones.

cucu:
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

Geo:
Una forma un tanto "burda":


* resta los vectores
* convierte el resultado a números sin signo (los números negativos se convertirán en ceros)
* si es necesario, convierte nuevamente al tipo original

Navegación

[0] Índice de Mensajes

Ir a la versión completa