- Normalize the dataset by dividing each input by its maximum value to ensure uniform scaling.
- Ignore errors by turning off warnings or changing error settings in the fuzzy logic controller block in Simulink.
- Manually adjust the upper and lower bounds for input and output membership functions to accommodate for the error.
- Employ an additional set of fuzzy rules that consider error derivatives for better control over the fuzzy logic-based controller outputs. Note that this approach requires extra setup work and computation time..
- Define fuzzy input membership functions capable of handling values outside the specified range to ensure the controller can handle a wider range of input values.
How can I solve the problem about "input 2 expects a value in range [-3 3]"with fuzzy logic controller?
17 views (last 30 days)
Show older comments
I used the fuzzy logic controller with 2 inputs.But there are many warnings about its range.
Please see the pictures.
I also used the Saturation to limit the value......
A more incomprehensible question was that after changing the setting "out of range input value" from "warning" to "error" ,No error occurred!!
Please help me to solve these problems.
Thank you for your reply!
![微信图片_20190303175757.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/206591/image.png)
![微信图片_201903031757571.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/206592/image.png)
![微信图片_201903031757572.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/206593/image.png)
![微信图片_201903031757573.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/206594/image.png)
0 Comments
Answers (1)
AKennedy
on 4 Feb 2025 at 6:43
You could try to
For more information: https://www.mathworks.com/help/matlab/ref/double.normalize.html
1 Comment
Sam Chak
on 4 Feb 2025 at 17:13
Edited: Sam Chak
on 4 Feb 2025 at 17:15
Hi @AKennedy
Thank you for your response. I have reviewed the suggested solutions, and most do not work for the reasons specified below:
- If the error is on the order of millions (when the expected yaw angle range is [-3, 3] rad, approximately
), normalizing the measured dataset by dividing each input by its maximum value will significantly impact the shapes of the input and output membership functions.
- Turning off warnings does not automatically result in the desired yaw control response; it merely ignores the system's attempt to inform the user that the designed fuzzy system is inadequate.
- Adjusting the upper and lower bounds for input and output MFs to accommodate the error in the magnitude of millions is simply impractical. While the warning "Input 2 expects a value in the range [-3, 3]" may disappear, this does not address the underlying problem that resulted in the excessively high magnitude of the yaw angle in the first place.
- Increasing the number of fuzzy control rules may be effective, provided that the designer is a "true" fuzzy expert and not merely a user of the Fuzzy Logic Toolbox. However, this approach may be viewed as "uneconomical" from the perspective of a knowledge expert for a relatively simple yaw control system. It can also complicate the demonstration of airworthiness (or any vehicle-worthiness) by making it more challenging to prove the stability of the control system.
- The suggestion to define fuzzy input MFs capable of handling values outside the specified range is similar to the rationale for adjusting the upper and lower bounds. It is unacceptable if the control designer does not address the issue of the high magnitude of the yaw angle.
See Also
Categories
Find more on Fuzzy Logic in Simulink in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!