Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

What correction need in this..? for fuzzy

Asked by Lalit Patil

Lalit Patil (view profile)

on 24 Jan 2013
 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

Lalit Patil

Lalit Patil (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Walter Roberson

Walter Roberson (view profile)

on 24 Jan 2013
Accepted answer

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

Lalit Patil

Lalit Patil (view profile)

on 24 Jan 2013

In my plot should be 3points..

In sequence at 1,0,1 on y-axis..

But i am getting like 0.1 0 0.1

I given parameters [0 0.5 1]

Range [0 1] , dispay range [0 1]

and i modified the code above..

Walter Roberson

Walter Roberson (view profile)

on 24 Jan 2013

Change the 2 to 20 if you insist on using that function structure

Walter Roberson

Walter Roberson (view profile)

Answer by Jing

Jing (view profile)

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)

1 Comment

Lalit Patil

Lalit Patil (view profile)

on 24 Jan 2013

sorry, but i want to create the same thing without function...

 x = 0:0.1:1
 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
 end
 out=.1*y';
 plot(x,out)

This works well in command window but not in fuzzy GUI... problem is mensioned in aboves answer..

Jing

Jing (view profile)

Contact us