% ========================================================= % Basic matlab usage: % type in expression, matlab computes, and returns answer 7 + 8 * 6 ans = 55 (7 + 8) * 6 ans = 90 % arithmetic operations are % + - * / ^ % here's how to compute 3 squared, i.e. 3 to the 2 3^2 ans = 9 % ========================================================= % Variables % assign a number into a variable x = 5 % assign the value 5 into the variable x x = 5 x x = 5 2+x ans = 7 % Assign 9 + 2*4 (that is, 17) into the variable x x = 9 + 2*4 x = 17 % Note: this is not an equation! It's an assignment of a value into a variable. x = 9 + 2*4 x = 17 % Note: Matlab can be 'cute' % "who" tells what variables matlab knows at any time who Your variables are: ans x % "whos" is a more detailed version of "who", tells type (class) as well whos Name Size Bytes Class Attributes ans 1x1 8 double x 1x1 8 double % convert x to an integer and store in n. "uint32" is unsigned 32-bit integer n = uint32(x); whos Name Size Bytes Class Attributes ans 1x1 8 double n 1x1 4 uint32 x 1x1 8 double % The default type (class) of any variable is double (double precision % floating point number) y = exp(23) % compute e^23 y = 9.7448e+09 % this is standard text notation for 9.7448 x 10^9 y = exp(-23) % compute e^23 y = 1.0262e-10 % this is standard text notation for 1.0262 x 10^-10 whos Name Size Bytes Class Attributes ans 1x1 8 double n 1x1 4 uint32 x 1x1 8 double y 1x1 8 double % class(variable) tells you the class (type) of a variable class(x) ans = double % =============================================================== % logical expressions % 3 > 1 is a logical expression, just like 3 + 1 is an arithmetic expression 3 > 1 ans = 1 % in matlab, true is 1 and false is 0 % this is a logical expression, just like 3 + 1 is an arithmetic expression 3 < 1 ans = 0 % evaluate 3 > 2 to true (1) and assign to variable b b = 3 > 2 b = 1 class(b) ans = logical whos Name Size Bytes Class Attributes ans 1x7 14 char b 1x1 1 logical n 1x1 4 uint32 x 1x1 8 double y 1x1 8 double % illustrate && (and) and || (or) 3 > 2 && 4 > 1 % this means 3 > 2 AND 4> 1 ans = 1 3 > 2 && 4 < 1 % this means 3 > 2 AND 4 < 1 ans = 0 % Implicit type conversion, will convert logical true (1) to 1 to add to 18 (3 > 2 && 4 > 1) + 18 ans = 19 3 > 2 || 4 > 1 % this means 3 > 2 OR 4 > 1 ans = 1 3 > 2 || 4 < 1 % this means 3 > 2 OR 4 < 1 ans = 1 3 < 2 || 4 < 1 % this means 3 < 2 OR 4 < 1 ans = 0 % ~ means NOT, logical inversion ~1 % not true, ie false ans = 0 ~0 % not false, ie true ans = 1 3 > 2 ans = 1 ~(3 > 2) ans = 0 ~(3 < 2 || 4 < 1) % this means NOT (3 < 2 OR 4 < 1) ans = 1