es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo usar las variables de gekko como componentes de un arreglo?

Necesito resolver un problema de minimización que involucra vectores, estoy usando el root de cern y Gekko para intentar resolver el problema. Pero necesito construir vectores cuatridimensionales/tridimensionales con variables de Gekko para facilitar las operaciones.

Supongamos que tengo x1, x2 y x3 como variables de Gekko. Quiero construir una matriz algo así:

x = ( x1sin(x2)cos(x3) , x1sin(x2)sin(x3) , x1 )

¿Es eso posible? ¿Y puedo hacer operaciones con él? Como:

m.equation(x*x == 20)

Saludos cordiales.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible construir un array con variables de gekko utilizando la sintaxis de Python. Para crear el array x a partir de x1, x2 y x3, puedes utilizar el siguiente código:

    from gekko import GEKKO
    
    # Inicializar el modelo gekko
    m = GEKKO()
    
    # Crear variables de gekko
    x1 = m.Var(value=1)
    x2 = m.Var(value=1)
    x3 = m.Var(value=1)
    
    # Construir array
    x = [x1*m.sin(x2)*m.cos(x3), x1*m.sin(x2)*m.sin(x3), x1]
    
    # Realizar operaciones con el array
    m.Equation(x[0]**2 + x[1]**2 + x[2]**2 == 20)
    

    Ten en cuenta que estamos definiendo x como una lista, no como un array. Sin embargo, la variable x puede ser utilizada en operaciones matemáticas, como se muestra en el ejemplo donde definimos una ecuación involucrando los elementos de x.

Comments are closed.