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

7 visualizzazioni (ultimi 30 giorni)
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)

Risposte (1)

Robert U
Robert U il 11 Ago 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

Categorie

Scopri di più su Fuzzy Logic Toolbox in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by