Matlab - Solución válida en comando roots

 
Vista:

Solución válida en comando roots

Publicado por holyo (43 intervenciones) el 26/10/2010 09:36:33
Hola, tengo una ecuación cúbica de esta manera:

f= 4*k^2*h^3-3*(k^2+1)*h-(k^2+1)

K varía entre 0-1.

A la hora de resolver, hago un bucle for en el que k va aumentando de 0.25 hasta llegar a uno, y en cada valor de k le pido que me resuelva la ecuación utilizando el comando roots.

El comando roots me devuelve tres valores. Esta es la pregunta, me gustaría que sólo me mostrase aquella solución que cumpla una condición que yo indique, por ejemplo, que sea positiva. ¿Se puede hacer?

Muchas gracias a cualquiera que me pueda echar una mano.
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:Solución válida en comando roots

Publicado por Jorge (226 intervenciones) el 27/10/2010 04:26:14
No puedes hacer que roots te dé menos respuestas, pero puedes filtrar los resultados para sólo mostrar los que te interesen, usando find.

Por ejemplo, supón que los resultados los tienes en un vector

r = [-1 3 -2 -4]

Puedes encontrar los índices de los elementos positivos:
ix = find(r > 0)

y luego los despliegas:
r(ix)
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