What correction need in this..? for fuzzy
    3 views (last 30 days)
  
       Show older comments
    
 function out = Tanvismembershipfunction(x, params)
 for i=1:length(x)
 if x(i)<params(1)
  y(i)= 2 * abs(x(i) - 0.5);
 elseif x(i)<params(2)
 y(i)= 2 * abs(x(i) - 0.5);
 else x(i)<params(3)
 y(i)= 2 * abs(x(i) - 0.5);
 end
 out=.1*y'; % scaling the output to lie between 0 and 1
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 24 Jan 2013
        There is no way to get that graph by just altering the params() values in that code.
Instead consider
y = 2 * abs(x - 0.5)
2 Comments
More Answers (1)
  Jing
    
 on 24 Jan 2013
        If you want to use it in a fuzzy logic/control problem, TRAPMF or TRIMF can easily create the function like that.
x=0:0.1:1;
y=1-trimf(x,[0 0.5 1]);
plot(x,y)
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!

