2013-05-09 4 views
2

Я хотел бы выполнить интеграцию функции переменной, отличной от времени в Modelica, но я не знаю, как это сделать. Например, как я могу оценить интеграл от x dx с верхним пределом 5 и нижним пределом 2?интеграция функции в modelica

∫x dx=x^2/2 

ответ

6

Modelica не был разработан, чтобы быть CAS (система компьютерной алгебры) как Maple, Mathematica или Matlab, но с немного кодирования вы можете сделать это в любом случае. Дело в том, что ваша проблема не может быть решена автоматически символически с помощью инструментов Modelica, но численно да. Для того, чтобы решить его численно, вы должны сделать трюк, чтобы заменить x переменной времени, так как в Modelica вы можете выполнять производные и, следовательно, интегралы только по времени. Таким образом, вы можете создать источник сигнала с функцией, которую необходимо интегрировать, а затем использовать его в качестве ввода Modelica.Blocks.Continuous.Integrator блока, который реализует это простое уравнение:

model Integrator 
    input Real u; 
    output Real y; 
equation 
    der(y) = u; 
end Integrator; 

Наконец, если вы отправляете в качестве входных данных в этот блок нулевого для t<2 и t<5, то вы должны получить на выходе правильное значение вашей интеграл между 2 и 5:

enter image description here

Я надеюсь, что это помогает, Марко

+0

спасибо. Полезная информация. – Tymo

Смежные вопросы