How can I include membership function inside a piece-wise function?

7 vues (au cours des 30 derniers jours)
Kris
Kris le 10 Août 2017
Réponse apportée : Robert U le 11 Août 2017
I'm trying to graph a piecewise function containing sigmoid membership function, however the result is always returned with dimension mismatch error. Any idea? Thanks.
Here's the code:
x= 0:.1:20;
y(0<=x & x<=10) = sigmf(x,[1 5]);
y(10<x & x<=20) = 1;
plot(x,y)

Réponses (1)

Robert U
Robert U le 11 Août 2017
Hi Kris,
since you are using logical indexing, you must account for different sized vectors you want to write on (in your example the length of y is not the same as x). One possibility is to initialize the vector y by one and overwrite the values y(0<=x & x<=10):
x= 0:.1:20;
y = ones(1,length(x));
y(0<=x & x<=10) = sigmf(x(0<=x & x<=10), [1 5]);
plot(x,y)
Kind regards,
Robert

Catégories

En savoir plus sur Fuzzy Logic Toolbox dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by