Matlab - Ayuda, soy novato en matlab(qtOctave)

   
Vista:

Ayuda, soy novato en matlab(qtOctave)

Publicado por Manuel manuelpineda1@hotmail.com (7 intervenciones) el 27/11/2012 13:23:34
Hola, solo llevo unos meses tabajando con un programa matetmático llamado qtOctave, desde mi punto de vista muy parecido al matlab. Estoy desarrolando un programa para resolver el Metodo Simplex, y me he quedado atascado porque me ha surgido un problema.

Tengo un vector de n valores, necesito sacar el valor mínimo NO NEGATIVO, y la posicion del mismo. La cosa es que en el vector hay valores negativos, por lo que necesitaria excluir los valores negativos para que no los tuviera en cuenta.

Anteriormente lo hice con un vector de 4 variables, y se puede hacer facil con blucles if, pero cuando hablamos por ejemplo de 20 variables....

Por ejemplo este vector A=[26 65 85 -45 657 1 2 0 0 67 85 -5 -6 5 15 4 -52 57] de 18 variables
Gracias de antemano
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

Ayuda, soy novato en matlab(qtOctave)

Publicado por Luis (1 intervención) el 27/11/2012 23:29:19
Supongo que al decir q es un programa similar a matlab te refieres a que posee funciones similares. Si es así, entonces primero deberías buscar las posiciones de los q no son negativos.
Siguiendo tu ejemplo:

A=[26 65 85 -45 657 1 2 0 0 67 85 -5 -6 5 15 4 -52 57] ;

pos=find(A>0); % vector tendrá las posiciones de todos los valores que son mayores estrictos a 0


Vminpos=min(A(pos)) %valor mínimo negativo

si quieres saber la o las posiciones de este valor :

lugarvm=find(A==Vminpos)


espero que te sirva de ayuda
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