Matlab Logic

From Sutherland_wiki
Revision as of 12:25, 19 September 2008 by 00033394 (talk | contribs) (New page: == Introduction == <!-- Often in an algorithm we must take a different path or do some extra work if some condition is true. Consider the following example: The [http://en.wikipedia.org/...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

If/Then Statements

Warn.jpg
This section is a stub and needs to be expanded.
If you can provide information or finish this section you're welcome to do so and then remove this message afterwards.

The basic syntax is:

 if (condition1)
   % do some work
 elseif (condition2)
   % do different work
  .
  .
  .
 else
   % do default work
 end


Relational Operators

Operator Description Example
a == b Compares a and b and returns "true" if they are equal. If a and b are arrays, this returns an array that provides the comparison of each entry in a and b
comp = (5 == 3);  % comp is "false", comp=0
a = [1 2; 3 5];
b = [2 4; 3 4];
c = a==b;  % c=[0 0; 1 0]
a ~= b Compares a and b and returns "true" if they are NOT equal. If a and b are arrays, this returns an array that provides the comparison of each entry in a and b
comp = (5 ~= 3);  % comp is "true", comp=1
a = [1 2; 3 5];
b = [2 4; 3 4];
c = a~=b;  % c=[1 1; 0 1]
a > b Returns "true" if a is greater than b. If a and b are arrays, this returns an array that provides the comparison of each entry in a and b
comp = (5 > 3);  % comp is "true", comp=1
a = [1 2; 3 5];
b = [2 4; 3 4];
c = a>b;  % c=[0 0; 0 1]
a < b Returns "true" if a is less than b. If a and b are arrays, this returns an array that provides the comparison of each entry in a and b
comp = (5 < 3);  % comp is "false", comp=0
a = [1 2; 3 5];
b = [2 4; 3 4];
c = a<b;  % c=[1 1; 0 0]
a >= b Returns "true" if a is greater than or equal to b. If a and b are arrays, this returns an array that provides the comparison of each entry in a and b
comp = (5 >= 3);  % comp is "false", comp=0
a = [1 2; 3 5];
b = [2 4; 3 4];
c = a>=b;  % c=[0 0; 1 1]
a <= b Returns "true" if a is less than or equal to b. If a and b are arrays, this returns an array that provides the comparison of each entry in a and b
comp = (5 <= 3);  % comp is "true", comp=1
a = [1 2; 3 5];
b = [2 4; 3 4];
c = a<=b;  % c=[1 1; 1 0]


Logical Operators

Operator Description Example
a & b Returns true if BOTH a AND b are true.
a=5;  b=4; c=6;
d = (a>b) & (c>b);         % true
e = (a>b) & (c<b);         % false
f = (a<b) & (c<b);         % false
g = (a>b) & (c>b) & a+b>c; % true.
a | b Returns true if EITHER a OR b are true.
a=5;  b=4; c=6;
d = (a>b) | (c>b);         % true
e = (a>b) | (c<b);         % true
f = (a<b) | (c<b);         % false
g = (a>b) | (c>b) | a+b>c; % true
h = a>b & b>c | c>a;       % true
~a "NOT" operator. You have already seen this in ~=. Returns true if a is false. Otherwise returns false.
a=5;  b=4; c=6;
d = ~(a>b);         % false
e = ~(a>b);         % false




Switch Statements

Warn.jpg
This section is a stub and needs to be expanded.
If you can provide information or finish this section you're welcome to do so and then remove this message afterwards.

The basic syntax of the switch statement in Matlab is:

  switch ( variable )
  case { case1 case 2 }
    % statements...
  case case3
    % statements...
  otherwise
    % default statements
  end