SoloCodigo
Programación Específica => Matlab => Mensaje iniciado por: cucu en Jueves 21 de Mayo de 2009, 20:37
-
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
-
La función max hace eso precisamente:
x = [ 4 7 9 ];
y = [ 3 8 2 ];
Lo único a notar es que los parámetros para la función max deben tener las mismas dimensiones.
-
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
-
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