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

7 次查看(过去 30 天)
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)

回答(1 个)

Robert U
Robert U 2017-8-11
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

类别

Help CenterFile Exchange 中查找有关 Fuzzy Logic Toolbox 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by