100% found this document useful (2 votes)
912 views

Matlab

The document discusses arrays and variables in MATLAB. Some key points: 1) Arrays are collections of data organized into rows and columns that are known by a single name. Vectors have one dimension while matrices have more than one. Arrays can be initialized using brackets and built-in functions like zeros and ones. 2) Variables are regions of memory containing arrays that are known by user-specified names. Common variable types include double, char, and logical. Variables must follow naming conventions and can be initialized through assignment statements. 3) Subarrays allow selecting subsets of data from arrays using indexing with colons or end. Special values in MATLAB include pi, i, Inf, and NaN. Formatting

Uploaded by

Roshan Patroo
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
912 views

Matlab

The document discusses arrays and variables in MATLAB. Some key points: 1) Arrays are collections of data organized into rows and columns that are known by a single name. Vectors have one dimension while matrices have more than one. Arrays can be initialized using brackets and built-in functions like zeros and ones. 2) Variables are regions of memory containing arrays that are known by user-specified names. Common variable types include double, char, and logical. Variables must follow naming conventions and can be initialized through assignment statements. 3) Subarrays allow selecting subsets of data from arrays using indexing with colons or end. Special values in MATLAB include pi, i, Inf, and NaN. Formatting

Uploaded by

Roshan Patroo
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Roshan Tishraj

Variables and Arrays


 Array: A collection of data values organized into
rows and columns, and known by a single name.

Row 1

Row 2

Row 3
arr(3,2)
Row 4

Col 1 Col 2 Col 3 Col 4 Col 5

Roshan Tishraj Patroo 2


Arrays
 The fundamental unit of data in MATLAB
 Scalars are also treated as arrays by
MATLAB (1 row and 1 column).
 Row and column indices of an array start
from 1.
 Arrays can be classified as vectors and
matrices.

Roshan Tishraj Patroo 3


 Vector: Array with one dimension

 Matrix: Array with more than one dimension


 Size of an array is specified by the number of
rows and the number of columns, with the
number of rows mentioned first (For example: n
x m array).
Total number of elements in an array is the
product of the number of rows and the
number of columns.

Roshan Tishraj Patroo 4


1 2
a= 3 4 3x2 matrix  6 elements
5 6

b=[1 2 3 4] 1x4 array  4 elements, row vector

1
c= 3 3x1 array  3 elements, column vector
5

a(2,1)=3 b(3)=3 c(2)=3

Row # Column #

Roshan Tishraj Patroo 5


Variables
 A region of memory containing an array, which is
known by a user-specified name.
 Contents can be used or modified at any time.
 Variable names must begin with a letter, followed
by any combination of letters, numbers and the
underscore (_) character. Only the first 31
characters are significant.
 The MATLAB language is Case Sensitive. NAME,
name and Name are all different variables.
Give meaningful (descriptive and easy-to-
remember) names for the variables. Never define a
variable with the same name as a MATLAB function
or command.
Roshan Tishraj Patroo 6
Common types of MATLAB variables
 double: 64-bit double-precision floating-point numbers
They can hold real, imaginary or complex numbers in
the range from ±10-308 to ±10308 with 15 or 16 decimal
digits.
>> var = 1 + i ;
 char: 16-bit values, each representing a single character
The char arrays are used to hold character strings.
>> comment = ‘This is a character string’ ;

The type of data assigned to a variable determines the


type of variable that is created.

Roshan Tishraj Patroo 7


Initializing Variables in Assignment Statements
An assignment statement has the general form
var = expression
Examples:
>> var = 40 * i; >> a2 = [0 1+8];
>> var2 = var / 5; >> b2 = [a2(2) 7 a];
>> array = [1 2 3 4]; >> c2(2,3) = 5;
>> x = 1; y = 2; >> d2 = [1 2];
>> a = [3.4]; >> d2(4) = 4;
>> b = [1.0 2.0 3.0 4.0];
>> c = [1.0; 2.0; 3.0];
>> d = [1, 2, 3; 4, 5, 6]; „;‟ semicolon suppresses the
>> e = [1, 2, 3 automatic echoing of values but
4, 5, 6]; it slows down the execution.
Roshan Tishraj Patroo 8
Initializing Variables in Assignment Statements
 Arrays are constructed using brackets and
semicolons. All of the elements of an array are
listed in row order.
 The values in each row are listed from left to right
and they are separated by blank spaces or commas.
 The rows are separated by semicolons or new lines.

 The number of elements in every row of an array


must be the same.
 The expressions used to initialize arrays can
include algebraic operations and all or portions of
previously defined arrays.

Roshan Tishraj Patroo 9


MATLAB FOR DUMMIES

Initializing with Shortcut Expressions


first: increment: last
• Colon operator: a shortcut notation used to initialize
arrays with thousands of elements
>> x = 1 : 2 : 10;
>> angles = (0.01 : 0.01 : 1) * pi;
• Transpose operator: (′) swaps the rows and columns
of an array 1 1
>> f = [1:4]′; 2 2
h=
>> g = 1:4; 3 3
>> h = [ g′ g′ ]; 4 4

Roshan Tishraj Patroo 10


MATLAB FOR DUMMIES

Initializing with Built-in Functions


• zeros(n) >> a = zeros(2);
• zeros(n,m) >> b = zeros(2, 3);
• zeros(size(arr)) >> c = [1, 2; 3, 4];
• ones(n) >> d = zeros(size(c));
• ones(n,m)
• ones(size(arr))
• eye(n)
• eye(n,m)

• length(arr)
• size(arr)

Roshan Tishraj Patroo 11


MATLAB FOR DUMMIES

Initializing with Keyboard Input

• The input function displays a prompt string in the


Command Window and then waits for the user to
respond.

my_val = input( ‘Enter an input value: ’ );

in1 = input( ‘Enter data: ’ );

in2 = input( ‘Enter data: ’ ,`s`);

Roshan Tishraj Patroo 12


MATLAB FOR DUMMIES

Multidimensional Arrays
• A two dimensional array with m rows and n columns
will occupy mxn successive locations in the computer‟s
memory. MATLAB always allocates array elements in
column major order.
1
a= [1 2 3; 4 5 6; 7 8 9; 10 11 12];
4
a(5) = a(1,2) = 2 1 2 3 7

• A 2x3x2 array of three dimensions 4 5 6 10


7 8 9 2
c(:, :, 1) = [1 2 3; 4 5 6 ];
10 11 12 5
c(:, :, 2) = [7 8 9; 10 11 12];
8
11

Roshan Tishraj Patroo 13


MATLAB FOR DUMMIES
Subarrays
• It is possible to select and use subsets of MATLAB
arrays.
arr1 = [1.1 -2.2 3.3 -4.4 5.5];
arr1(3) is 3.3
arr1([1 4]) is the array [1.1 -4.4]
arr1(1 : 2 : 5) is the array [1.1 3.3 5.5]
• For two-dimensional arrays, a colon can be used in a
subscript to select all of the values of that subscript.
arr2 = [1 2 3; -2 -3 -4; 3 4 5];
arr2(1, :)
arr2(:, 1:2:3)
Roshan Tishraj Patroo 14
MATLAB FOR DUMMIES

Subarrays
• The end function: When used in an array subscript, it
returns the highest value taken on by that subscript.
arr3 = [1 2 3 4 5 6 7 8];
arr3(5:end) is the array [5 6 7 8]
arr4 = [1 2 3 4; 5 6 7 8; 9 10 11 12];
arr4(2:end, 2:end)
• Using subarrays on the left hand-side of an assignment
statement:
arr4(1:2, [1 4]) = [20 21; 22 23];
(1,1) (1,4) (2,1) and (2,4) are updated.
arr4 = [20 21; 22 23]; all of the array is changed.
Roshan Tishraj Patroo 15
MATLAB FOR DUMMIES

Subarrays
• Assigning a Scalar to a Subarray: A scalar value on the
right-hand side of an assignment statement is copied
into every element specified on the left-hand side.
>> arr4 = [1 2 3 4; 5 6 7 8; 9 10 11 12];
>> arr4(1:2, 1:2) = 1
arr4 =
1 1 3 4
1 1 7 8
9 10 11 12

Roshan Tishraj Patroo 16


MATLAB FOR DUMMIES
Special Values
• MATLAB includes a number of predefined special values.
These values can be used at any time without initializing
them.
• These predefined values are stored in ordinary variables.
They can be overwritten or modified by a user.
• If a new value is assigned to one of these variables, then
that new value will replace the default one in all later
calculations.
>> circ1 = 2 * pi * 10;
>> pi = 3;
>> circ2 = 2 * pi * 10;
Never change the values of predefined variables.
Roshan Tishraj Patroo 17
MATLAB FOR DUMMIES
Special Values
• pi:  value up to 15 significant digits
• i, j: sqrt(-1)
• Inf: infinity (such as division by 0)
• NaN: Not-a-Number (division of zero by zero)
• clock: current date and time in the form of a 6-element
row vector containing the year, month, day, hour,
minute, and second
• date: current date as a string such as 16-Feb-2004
• eps: epsilon is the smallest difference between two
numbers
• ans: stores the result of an expression
Roshan Tishraj Patroo 18
MATLAB FOR DUMMIES

Changing the data format


>> value = 12.345678901234567;
format short  12.3457
format long  12.34567890123457
format short e  1.2346e+001
format long e  1.234567890123457e+001
format short g  12.346
format long g  12.3456789012346
format rat  1000/81

Roshan Tishraj Patroo 19


MATLAB FOR DUMMIES

The disp( array ) function


>> disp( 'Hello' )
Hello
>> disp(5)
5
>> disp( [ 'Bilkent ' 'University' ] )
Bilkent University
>> name = 'Alper';
>> disp( [ 'Hello ' name ] )
Hello Alper

Roshan Tishraj Patroo 20


MATLAB FOR DUMMIES

The num2str() and int2str() functions


>> d = [ num2str(16) '-Feb-' num2str(2004) ];
>> disp(d)
16-Feb-2004
>> x = 23.11;
>> disp( [ 'answer = ' num2str(x) ] )
answer = 23.11
>> disp( [ 'answer = ' int2str(x) ] )
answer = 23

Roshan Tishraj Patroo 21


MATLAB FOR DUMMIES

The fprintf( format, data ) function


– %d integer
– %f floating point format
– %e exponential format
– %g either floating point or exponential
format, whichever is shorter
– \n new line character
– \t tab character

Roshan Tishraj Patroo 22


MATLAB FOR DUMMIES
>> fprintf( 'Result is %d', 3 )
Result is 3
>> fprintf( 'Area of a circle with radius %d is %f', 3, pi*3^2 )
Area of a circle with radius 3 is 28.274334
>> x = 5;
>> fprintf( 'x = %3d', x )
x= 5
>> x = pi;
>> fprintf( 'x = %0.2f', x )
x = 3.14
>> fprintf( 'x = %6.2f', x )
x = 3.14
>> fprintf( 'x = %d\ny = %d\n', 3, 13 )
x=3
y = 13

Roshan Tishraj Patroo 23


MATLAB FOR DUMMIES

Data files
• save filename var1 var2 …
>> save myfile.mat x y  binary
>> save myfile.dat x –ascii  ascii
• load filename
>> load myfile.mat  binary
>> load myfile.dat –ascii  ascii

Roshan Tishraj Patroo 24


MATLAB FOR DUMMIES

• variable_name = expression;
– addition a+b  a+b
– subtraction a-b  a-b
– multiplication axb  a*b
– division a/b  a/b
– exponent ab  a^b

Roshan Tishraj Patroo 25


MATLAB FOR DUMMIES

Hierarchy of operations
• x=3*2+6/2
• Processing order of operations is important
– parentheses (starting from the innermost)
– exponentials (from left to right)
– multiplications and divisions (from left to right)
– additions and subtractions (from left to right)
>> x = 3 * 2 + 6 / 2
x=
9

Roshan Tishraj Patroo 26


MATLAB FOR DUMMIES

Built-in MATLAB Functions


• result = function_name( input );
– abs, sign
– log, log10, log2
– exp
– sqrt
– sin, cos, tan
– asin, acos, atan
– max, min
– round, floor, ceil, fix
– mod, rem
• help elfun  help for elementary math functions

Roshan Tishraj Patroo 27


MATLAB FOR DUMMIES

Types of errors in MATLAB programs


• Syntax errors
– Check spelling and punctuation
• Run-time errors
– Check input data
– Can remove “;” or add “disp” statements
• Logical errors
– Use shorter statements
– Check typos
– Check units
– Ask your friends, assistants, instructor, …

Roshan Tishraj Patroo 28


MATLAB FOR DUMMIES

Summary
• help command  Online help
• lookfor keyword  Lists related commands
• which  Version and location info
• clear  Clears the workspace
• clc  Clears the command window
• diary filename  Sends output to file
• diary on/off  Turns diary on/off
• who, whos  Lists content of the workspace
• more on/off  Enables/disables paged output
• Ctrl+c  Aborts operation
• …  Continuation
• %  Comments

Roshan Tishraj Patroo 29

You might also like