How can I evaluate the next state to take a decsion in Simulink?

조회 수: 3 (최근 30일)
Keeping the complicated details aside, what I want to do is this: I want to take a decision in Simulink (Choose between two controllers) based on what the next state will be using one of these controllers (the main one). If the next state meets a certain criteria then I will make a switch to the other controller. I've been trying to think of how this can be implemented but I just can't think of a way.

답변 (2개)

Jim Riggs
Jim Riggs 2018년 5월 8일
편집: Jim Riggs 2018년 5월 8일
Here is my thought:
This used duplicate controller blocks.
Or if the decision only depends on the first controller:
Or maybe this would work:
  댓글 수: 1
Yaseen Abdel Moneim Sabry El-Zawahry
Yes, this is what would come to mind at first. But the problem is that the switch logic is dependent on what would happen should we choose controller #1. So the switch logic is actually dependent on the system and the system is dependent on the switch so it can't be directly solved that way.

댓글을 달려면 로그인하십시오.


Yaseen Abdel Moneim Sabry El-Zawahry
After some time thinking and trying solutions I came up with one that works well enough for my application. What I did is that I created a similar system to the one I'm controlling. This new system gets updated with new initial values periodically (every 0.01s in my case) and is always controlled by the controller #1. Then the output of this system is calculated and based on this output we can do the necessary logic to choose the controller for the true system.

카테고리

Help CenterFile Exchange에서 Control System Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by