Optimisation a simulink modelled system with Mfile

1 Ansicht (letzte 30 Tage)
Shahrbanoo Shamekhi-Amiri
Shahrbanoo Shamekhi-Amiri am 11 Feb. 2021
Beantwortet: Hari am 24 Apr. 2024
I have modelled a dynamic system in Simulink. I want to implement an optimisation on this model. to find the optimal input profile that lead to two objectives. How should I do that? Because writing an optimisation code in m-file needs a fitness function.

Antworten (1)

Hari
Hari am 24 Apr. 2024
Hi,
I understand that you have a dynamic system modeled in Simulink and you wish to optimize the input profile to achieve two objectives.
I assume you're familiar with basic MATLAB and Simulink operations but may need clarification on integrating Simulink models with MATLAB optimization routines. Further, I assume, your objectives are related to minimizing or maximizing certain outputs or system states under specific constraints.
To perform optimization on a Simulink model using an M-file, follow these steps:
  1. Define a Fitness Function: This function should simulate your Simulink model with given inputs and return the values of your objectives. Use the "sim" command to run the Simulink model from MATLAB and extract the necessary outputs.
  2. Setup Optimization Problem: Utilize MATLAB's optimization tools, such as "fmincon" for constrained optimization. Define your problem, including the fitness function, any constraints (linear, non-linear), bounds on the variables, and initial guesses.
  3. Call the Optimizer: Execute the optimization function ("fmincon", "ga", etc.) with your problem definition. The optimizer will iteratively adjust the input profile to find the optimal solution based on your objectives.
  4. Analyze Results: Once the optimization completes, analyze the results, which include the optimal input profile and the objective function values. Use these results to adjust your Simulink model as necessary.
References for further exploration:
Hope this helps!

Kategorien

Mehr zu Manual Performance Optimization finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by