I have a system of ordinary differential equations (ODE) with some parameters (coefficients). I want to make fuzzy some of these coefficients.
What is the best way to do this in MATLAB?

3 Comments

Fuzzy systems are typically piecewise defined, and might be differentiable between the breakpoints, but typically have discontinuous first or second derivatives.
As such, most fuzzy systems are not suitable for use with any of the ode*() routines, all of which require continuous first and second derivatives within any one call.
The way to approach it with ode45() or similar would be to use an event function to terminate the integration each time you passed between fuzzy sub-domains.
🙏🏻🙏🏻

Sign in to comment.

 Accepted Answer

Sam Chak
Sam Chak on 2 Aug 2022

1 vote

Say the ODE is given by
where A and B are the coefficients of the state x and the input u, respectively.
From your description of the problem, if you want to fuzzifyA and B, perhaps you want to look up for the Takagi–Sugeno Fuzzy modeling approach.

2 Comments

🙏🏻🙏🏻
You are welcome, @fateme zrbd. For a deeper treatment of the topic, considering reading "Fuzzy Control Systems Design and Analysis: A Linear Matrix Inequality Approach" by Kazuo Tanaka, and Hua O. Wang.
If you like my suggestions, please consider accepting ✔ and voting 👍 the Answer as a closure. Thanks!

Sign in to comment.

More Answers (0)

Categories

Find more on Fuzzy Logic Toolbox in Help Center and File Exchange

Asked:

on 2 Aug 2022

Commented:

on 3 Aug 2022

Community Treasure Hunt

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

Start Hunting!