2011-08-05 17 views

Respuesta

11

La variable de tiempo en Modelica se llama time y se puede acceder a ella en cualquier modelo o bloque (pero no en paquetes, registros, conectores o funciones).

Además, en lugar de usar el atributo start sugiero usar ecuaciones iniciales. Así que su modelo completo se vería así:

model FirstOrder 
    Real x; 
initial equation 
    x = 1; 
equation 
    der(x) = time; 
end FirstOrder; 

Las ecuaciones de la sección initial equation se aplican sólo para resolver para los valores iniciales de los estados. La ecuación anterior es trivial, pero se pueden hacer cosas interesantes como:

model FirstOrder_IC2 
    Real x; 
initial equation 
    x*x*x = 3.0*time+7.0; 
equation 
    der(x) = time; 
end FirstOrder_IC2; 

El punto aquí es que se pueden utilizar otras ecuaciones, además de los que se especifican directamente el valor del estado. La ecuación inicial anterior no es "físicamente" interesante, pero matemáticamente es porque no es tanto lineal ni variable en el tiempo (es decir, es sensible al tiempo de inicio de la simulación).

Cuestiones relacionadas