SlideShare a Scribd company logo
Chapter 2
Creating Arrays
MATLAB An Introduction with Applications, 5th Edition
Dr. Amos Gilat
The Ohio State University
An array is MATLAB's basic data structure
• Can have any number of dimensions. Most
common are
(i) vector - one dimension (a single row or column)
(ii) matrix - two or more dimensions
• Arrays can have numbers or letters
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
To create a row vector from known numbers, type
variable name, then
equal sign, then inside square brackets, numbers
separated by spaces and/or commas
variable_name = [ n1, n2, n3 ]
>> yr = [1984 1986 1988 1990 1992 1994 1996]
yr =
1984 1986 1988 1999 1992 1994 1996
Note MATLAB displays row vector horizontally
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
To create a column vector from known numbers
• Method 1 - same as row vector but put semicolon
after all but last number
variable_name = [ n1; n2; n3 ]
>> yr = [1984; 1986; 1988]
yr =
1984
1986
1988
Note MATLAB displays column vector vertically
• Method 2 - same as row vector but put apostrophe
() after closing bracket
Apostrophe interchanges rows and columns. Will
study later
variable_name = [ n1 n2 n3 ]'
>> yr = [1984 1986 1988 ]'
yr =
1984
1986
1988
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
To create a vector with specified constant spacing
between elements
variable_name = m:q:n
• m is first number
• n is last number
• q is difference between consecutive numbers
V = m:q:n
means
v = [m m+q m+2q m+3q ... n ]
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
If omit q, spacing is one
V = m:n
means
v = [m m+1 m+2 m+3 ... n]
>> X = 1:2:13
X = 1 3 5 7 9 11 13
>> y = 1.5:0.1:2.1
Non-integer spacing
y = 1.5000 1.6000 11.7000 1.8000 1.9000
2.0000 2.1000
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
>> Z = -3:7
z = -3 -2 -1 0 1 2 3 4 5 6 7
>> xa = 21: -3:6 Negative spacing
xa = 21 18 15 12 9 6
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
To create a vector with specified number of terms
between first and last
v = linspace( xi, xf, n )
• xi is first number
• xf is last number
• n is number of terms (= 100 if omitted)
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
>> va = linspace( 0, 8, 6 ) Six elements
va = 0 1.6000 3.2000 4.8000 64000 8.0000
>> va = linspace( 30, 10, 11 ) Decreasing
elements
va=30 28 26 24 22 20 18 16 14
m:q:n lets you directly specify spacing.linspace()
lets you directly specify number of terms
2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
T I P
Create a two-dimensional matrix like this
m = [ row 1 numbers; row 2 numbers; ...; last row
numbers ]
• Each row separated by semicolon
• All rows have same number of columns
>> a=[ 5 35 43; 4 76 81; 21 32 40]
a =
5 35 43
4 76 81
21 32 40
2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
>> cd=6; e=3; h=4;
Commas optional
>> Mat=[e, cd*h , cos(pi/3);...
h^2 sqrt(h*h/cd) 14]
Mat =
3.0000 24.0000 0.5000
16.0000 1.6330 14.0000
2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
Can also use m:p:n or linspace() to make rows
• Make sure each row has same number of columns
>> A=[1:2:11; 0:5:25;...
linespace(10,60,6); 67 2 43 68 4 13]
A=
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
67 2 43 68 4 13
2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
What if number of columns different?
Four columns Five columns
>> B = [ 1 : 4 ; linspace (1 , 4 , 5) ]
??? Error using ==> vertcat CAT arguments dimensions
are not consistent
>> B= [ 1:5; linspace (1,4,5)]
B=
1.0000 2.0000 3.0000 4.0000 5.0000
1.0000 1.7500 2.5000 3.2500 4.0000
2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
2.2.1 The zeros, ones and, eye Commands
• zeros (m, n) - makes matrix of m rows and n
columns, all with zeros
• ones (m, n) - makes matrix of m rows and n
columns, all with ones
• eye (n) - makes square matrix of n rows and
columns. Main diagonal (upper left to lower right)
has ones, all other elements are zero
>> zr=zeros (3, 4)
zr=
Ο Ο Ο Ο
Ο Ο.Ο Ο
Ο Ο Ο Ο
>> ne=ones (4, 3)
ne =
1 1 1
1 1 1
1 1 1
1 1 1
>>idn=eye (5)
idn =
1 Ο Ο Ο Ο
Ο 1 Ο Ο Ο
Ο Ο 1 Ο Ο
Ο Ο Ο 1 Ο
Ο Ο Ο Ο 1
2.2.1 The zeros, ones and, eye Commands
To make a matrix filled with a particular
number, multiply ones (m, n) by that number
>> z=100*ones (3,4)
z =
100 100 100 100
100 100 100 100
100 100 100 100
2.2.1 The zeros, ones and, eye Commands
T I P
2.3 NOTES ABOUT VARIABLES IN MATLAB
• All variables are arrays
Scalar - array with only one element
Vector - array with only one row or column
Matrix - array with multiple rows and columns
• Assigning to variable specifies its dimension
Don't have to define variable size before
assigning to it, as you do in many programming
languages
• Reassigning to variable changes its dimension to
that of assignment
2.4 THE TRANSPOSE OPERATOR
Transpose a variable by putting a single quote after
it, e.g., x'
In math, transpose usually denoted by superscript
"T", e.g., 𝑥 𝑇
• Converts a row vector to a column vector and
vice-versa
• Switches rows and columns of a matrix, i.e., first
row of original becomes first column of
transposed, second row of original becomes
second column of transposed, etc.
>> aa = [ 3 8 1 ]
aa = 3 8 1
>> bb = aa' or [ aa ]'
bb =
3
8
1
2.4 THE TRANSPOSE OPERATOR
>> C= [2 55 14 8; 21 5 32 11; 41 64 9 1]
C = 2 55 14 8
21 5 32 11
41 64 9 1
>> D=C’
D= 2 21 41
55 5 64
14 32 9
8 11 1
2.4 THE TRANSPOSE OPERATOR
3.5 ARRAY ADDRESSING
Can access (read from or write to) elements in array
(vector or matrix) individually or in groups
• Useful for changing subset of elements
• Useful for making new variable from subset of
elements
2.5.1 Vector
Address of element is its position in the vector
• "address" often called index
• Addresses always start at 1 (not o)
Address 1 of row vector is leftmost element
Address 1 of column vector is topmost element
• To access element of a vector represented by a
variable, follow variables name by address inside
parentheses,
e.g., v (2) =20 sets second element of vector v to 20
>> VCT=[ 35 46 78 23 5 14 81 3 55 ]
VCT = 35 46 78 23 5 14 81 3 55
>> VCT (4)
ans = 23
>> VCT (6) =273
VCT = 35 46 78 23 5 273 81 3 55
>> VCT (2) +VCT (8)
ans = 49
>> VCT (5) ^VCT (8) +sqrt (VCT (7))
ans = 134
2.5.1 Vector
Address of element in a matrix is given by
row number and column number. Address
often called index or subscript
• Addresses always start at 1 (not o)
Row 1 is top row
Column 1 is left column
• If variable ma is a matrix, ma (k, p) is
element in row k and column p
In MATLAB, left index always refers to row,
right index to column
2.5.2 Matrix
T I P
>> MAT=[ 3 11 6 5; 4 7 10 2; 13 9 0 8 ]
MAT = Column 1
3 11 6 5
4 7 10 2
Row 3 13 9 0 8 Element in row 3 and column 1
>> MAT(3,1)
ans = 13
>> MAT(3,1)=20 Assign new value to element
MAT = in row 3 and column 1
3 11 6 5
4 7 10 2
9 0 8 Only this element changed
>> MAT(2,4)-MAT(1,2)
ans = -9
2.5.2 Matrix
20
2.6 USING A COLON : IN ADDRESSING ARRAYS
The colon : lets you address a range of elements
• Vector (row or column)
va(:) - all elements
va(m:n) - elements m through n
• Matrix
A(:,n) - all rows of column n
A(m.) - all columns of row m
A(:,m:n) - all rows of columns m through n
A(m:n,:) - all columns of rows m through n
A(m:n,p:q) - columns p through 2 of rows m
through n
>> A=[ 1:2:11; 2:2:12; 3:3:18; 4:4:24; 5:5:30 ]
A =
1 3 5 7 9 11
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
5 10 15 20 25 30
>> B=A(:,3) All rows of column 3
B =
5
6
9
12
15
2.6 USING A COLON : IN ADDRESSING ARRAYS
>> C=A(2,:) All columns of row 2
C = 2 4 6 8 10 12
>> E=A(2:4,:) All columns of row two through four
E =
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
>> F=A(1:3,2:4) columns two through four of rows
F = one through three
3 5 7
4 6 8
6 9 12
2.6 USING A COLON : IN ADDRESSING ARRAYS
Can replace vector index or matrix indices by
vectors in order to pick out specific elements. For
example, for vector V and matrix m
• V ([a b c:d]) returns elements a, b,and c through d
• m ([a b], [c:d e]) returns columns through d and
column e of rows a and b
2.6 USING A COLON : IN ADDRESSING ARRAYS
>> v=4:3:34
v =
4 7 10 13 16 19 22 25 28 31 34
>> u=v([3, 5, 7:10])
u =
10 16 22 25 28 31
2.6 USING A COLON : IN ADDRESSING ARRAYS
>> A=[10:-1:4; ones(1,7); 2:2:14; zeros(1,7)]
A =
10 9 8 7 6 5 4
1 1 1 1 1 1 1
2 4 6 8 10 12 14
0 0 0 0 0 0 0
>> B = A([1,3],[1,3,5:7])
B =
10 8 6 5 4
2 6 10 12 14
2.6 USING A COLON : IN ADDRESSING ARRAYS
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
Two ways to add elements to existing variables
1-Assign values to indices that don't exist
• MATLAB expands array to include indices, puts
specified values in assigned elements, fills any
unassigned new elements with zeros
2-Add values to ends of variables
• Adding to ends of variables is called appending or
concatenating
• "end" of vector is right side of row vector or
bottom of column vector
• "end" of matrix is right column or bottom row
Assigning to undefined indices of vectors
>> DF=1:4
DE = 1 2 3 4
>> DF (5:10)=10:5:35
DF = 1 2 3 4 10 15 20 25 30 35
>> AD=[5 7 2]
AD = 5 7 2
>> AD (8)=4
AD = 5 7 2 0 0 0 0 4
>> AR (5) =24 unassigned elements set to zero
AR = 0 0 0 0 24
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
Appending to vectors
• Can only append row vectors to row vectors and
column vectors to column vectors
If rl and r2 are any row vectors,
r3 = [r1 r2] is a row vector whose left part is r1
and right part is r2
If cl and c2 are any column vectors,
c3 = [cl; c2] is a column vector whose top part is
c1 and bottom part is c2
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
>> GT=4:3:16;
>> KNH=[RE GT]
KNH =
3 8 1 24 4 7 10 13 16
>> KNV=[RE'; GT']
KNV =
3
8
1
24
4
7
10
13
16
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
Assigning to undefined indices of matrices
>> AW=[3 6 9; 8 5 11] AW doesn't have a fourth row or fifth column
AW =
3 6 9
8 5 11
>> AW(4,5)=17
AW =
3 6 9 0 0 Now it does!
8 5 11 0 0
0 0 0 0 0
0 0 0 0 17
>> BG(3,4)=15
BG =
0 0 0 0 unassigned elements set to zeros
0 0 0 0
0 0 0 15
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
Appending to matrices
• If appending one matrix to right side of other
matrix, both must have same number of rows
• If appending one matrix to bottom of other
matrix, both must have same number of columns
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
>> A2=[1 2 3; 4 5 6]
A2 =
1 2 3
4 5 6
>> B2=[7 8; 9 10]
B2 =
7 8
9 10
>> C2=eye(3)
C2 =
1 0 0
0 1 0
0 0 1
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
>> Z=[A2 B2]
Z =
1 2 3 7 8
4 5 6 9 10
>> Z=[A2; C2]
Z =
1 2 3
4 5 6
1 0 0
0 1 0
0 0 1
>> Z=[A2; B2]
??? Error using ==> vertcat CAT arguments dimensions
are not consistent
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
2.8 DELETING ELEMENTS
To delete elements in a vector or matrix, set range to be
deleted to empty brackets
>> kt=[2 8 40 65 3 55 23 15 75 80]
kt =
2 8 40 65 3 55 23 15 75 80
>> kt(6)=[ ] Delete sixth element (55)
kt =
2 8 40 65 3 23 15 75 80 55 gone
>> kt(3:6)=[ ] Delete elements 3 through 6 of current
kt = kt, not original
2 8 15 75 80
To delete elements in a vector or matrix, set range to be
deleted to empty brackets
>> mtr=[5 78 4 24 9; 4 0 36 60 12; 56 13 5 89 3]
mtr =
5 78 4 24 9
4 0 36 60 12
56 13 5 89 3
>> mtr(:,2:4)=[ ]
mtr =
5 9
4 12
56 3
2.8 DELETING ELEMENTS
MATLAB has many built-in functions for working
with arrays. Some common ones are:
• length(v) -- number of elements in a vector
• size(A) -- number of rows and columns in a matrix
or vector
• reshape(A, m, n) -- changes number of rows and
columns of a matrix or vector while keeping total
number of elements the same. For example, changes
4x4 matrix to 2x8 matrix
2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS
• diag(v) -- makes a square matrix of zeroes with
vector in main diagonal
• diag(A) -- creates vector equal to main diagonal
of matrix
For more functions, click on the Help icon, then
in the Help window click on MATLAB, then on
“MATLAB functions”, then on “By Category",
then scroll down to the section labeled "Matrices
and Arrays"
2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS
A string is an array of characters
Strings have many uses in MATLAB
• Display text output
• Specify formatting for plots
• Input arguments for some functions
• Text input from user or data files
2.10 STRINGS AND STRINGS AS VARIABLES
• Create a string by typing characters within single
quotes (') ?
Many programming languages use the quotation
mark (") for strings. Not MATLAB!
• When typing in string ?
Color of text changes to maroon when type first
single quote
Color of text changes to purple when type last single
quote
2.10 STRINGS AND STRINGS AS VARIABLES
• Can have letters, digits, symbols, spaces?
To type single quote in string, use two consecutive
single quotes,
e.g., make the string of English "Greg's car" by
typing 'Greg''s car'
Examples: 'ad ef' , '3%fr2', 'edcba:21!', 'MATLAB'
2.10 STRINGS AND STRINGS AS VARIABLES
Can assign string to a variable, just like numbers
>> name = 'Sting'
name =
Sting
>> police = 'New York''s finest‘
police =
New York's finest
2.10 STRINGS AND STRINGS AS VARIABLES
In a string variable
• Numbers are stored as an array
• A one--line string is a row vector ?
Number of elements in vector is number of characters
in string
>> name = 'Howard the Duck';
>> size( name )
ans =
1 15
2.10 STRINGS AND STRINGS AS VARIABLES
Strings are indexed the same way as vectors and
matrices
• Can read by index
• Can write by index
• Can delete by index
2.10 STRINGS AND STRINGS AS VARIABLES
Example
>> word = 'dale';
>> word(1)
ans = d
>> word(1) = 'v'
word =
vale
>> word(end) =[ ]
word = val
>> word(end+1:end+3) = 'ley'
word = valley
2.10 STRINGS AND STRINGS AS VARIABLES
MATLAB stores strings with multiple lines as an
array. This means each line must have the same
number of columns (characters)
>> names = [ 'Greg'; 'John' ]
names =
Greg
John
>> size( names )
ans =
2 4
2.10 STRINGS AND STRINGS AS VARIABLES
Problem
4 characters
3 characters
>> names = [ 'Greg'; 'Jon' ]
??? Error using ==> vertcat CAT arguments
dimensions are not consistent. Must put in extra
characters (usually spaces) by hand so that all rows
have same number of characters
>> names = [ 'Greg'; 'Jon ' ]
Greg Extra space Jon
2.10 STRINGS AND STRINGS AS VARIABLES
Making sure each line of text has the same number
of characters is a big pain. MATLAB solves
problem with char function, which pads each line on
the right with enough spaces so that all lines have
the same number of characters
char('string 1', 'string 2', 'string 3')
2.10 STRINGS AND STRINGS AS VARIABLES
EXAMPLE
>> question=char('Romeo,Romeo,',...
'Wherefore art thou', 'Romeo?' )
question =
'Romeo, Romeo, '
'Wherefore art thou' this is 3x18
'Romeo? '
>> size( question )
ans = 3 18
2.10 STRINGS AND STRINGS AS VARIABLES
Three lines of text stored in a 3x18 array MATLAB
makes all rows as long as longest row
• First and third rows above have enough space
characters added on ends to make each row 18
characters long
2.10 STRINGS AND STRINGS AS VARIABLES
R o m e o , R o m e o ,
W h e r e f o r e a r t t h o u o
R o m e o ?

More Related Content

What's hot

Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
Damian T. Gordon
 
Matlab ploting
Matlab plotingMatlab ploting
Matlab ploting
Ameen San
 
rank of matrix
rank of matrixrank of matrix
rank of matrix
Siddhi Agrawal
 
Inner product spaces
Inner product spacesInner product spaces
Inner product spaces
EasyStudy3
 
User defined Functions in MATLAB Part 1
User defined Functions in MATLAB Part 1User defined Functions in MATLAB Part 1
User defined Functions in MATLAB Part 1
Shameer Ahmed Koya
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlab
aman gupta
 
Graph Plots in Matlab
Graph Plots in MatlabGraph Plots in Matlab
Graph Plots in Matlab
DataminingTools Inc
 
Btech_II_ engineering mathematics_unit2
Btech_II_ engineering mathematics_unit2Btech_II_ engineering mathematics_unit2
Btech_II_ engineering mathematics_unit2
Rai University
 
Metric space
Metric spaceMetric space
Metric space
NaliniSPatil
 
Bisection
BisectionBisection
Bisection
Shipon Sarder
 
Chapter 5 Graphs (1).ppt
Chapter 5 Graphs (1).pptChapter 5 Graphs (1).ppt
Chapter 5 Graphs (1).ppt
ishan743441
 
Vector Calculus.
Vector Calculus.Vector Calculus.
Vector Calculus.
Manmohan Dash
 
Matlab matrices and arrays
Matlab matrices and arraysMatlab matrices and arrays
Matlab matrices and arrays
Ameen San
 
Function transformations
Function transformationsFunction transformations
Function transformationsTerry Gastauer
 
Presentation on Solution to non linear equations
Presentation on Solution to non linear equationsPresentation on Solution to non linear equations
Presentation on Solution to non linear equations
Rifat Rahamatullah
 
Exponential and logrithmic functions
Exponential and logrithmic functionsExponential and logrithmic functions
Exponential and logrithmic functionsMalikahmad105
 
CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1
CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1
CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1
Mishal Chauhan
 
VECTOR FUNCTION
VECTOR FUNCTION VECTOR FUNCTION
VECTOR FUNCTION
Siddhi Shrivas
 
Types of function
Types of function Types of function
Types of function
SanaullahMemon10
 

What's hot (20)

Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
 
Matlab ploting
Matlab plotingMatlab ploting
Matlab ploting
 
rank of matrix
rank of matrixrank of matrix
rank of matrix
 
Inner product spaces
Inner product spacesInner product spaces
Inner product spaces
 
User defined Functions in MATLAB Part 1
User defined Functions in MATLAB Part 1User defined Functions in MATLAB Part 1
User defined Functions in MATLAB Part 1
 
Introduction to Matlab
Introduction to MatlabIntroduction to Matlab
Introduction to Matlab
 
Graph Plots in Matlab
Graph Plots in MatlabGraph Plots in Matlab
Graph Plots in Matlab
 
Btech_II_ engineering mathematics_unit2
Btech_II_ engineering mathematics_unit2Btech_II_ engineering mathematics_unit2
Btech_II_ engineering mathematics_unit2
 
Metric space
Metric spaceMetric space
Metric space
 
Bisection
BisectionBisection
Bisection
 
Chapter 5 Graphs (1).ppt
Chapter 5 Graphs (1).pptChapter 5 Graphs (1).ppt
Chapter 5 Graphs (1).ppt
 
Graph of functions
Graph of functionsGraph of functions
Graph of functions
 
Vector Calculus.
Vector Calculus.Vector Calculus.
Vector Calculus.
 
Matlab matrices and arrays
Matlab matrices and arraysMatlab matrices and arrays
Matlab matrices and arrays
 
Function transformations
Function transformationsFunction transformations
Function transformations
 
Presentation on Solution to non linear equations
Presentation on Solution to non linear equationsPresentation on Solution to non linear equations
Presentation on Solution to non linear equations
 
Exponential and logrithmic functions
Exponential and logrithmic functionsExponential and logrithmic functions
Exponential and logrithmic functions
 
CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1
CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1
CONTINUITY & DIFFERENTIABILITY CLASS XII MODULE 1
 
VECTOR FUNCTION
VECTOR FUNCTION VECTOR FUNCTION
VECTOR FUNCTION
 
Types of function
Types of function Types of function
Types of function
 

Similar to Matlab ch1 (3)

Matlab
MatlabMatlab
An Introduction to MATLAB for beginners
An Introduction to MATLAB for beginnersAn Introduction to MATLAB for beginners
An Introduction to MATLAB for beginners
Murshida ck
 
Lecture4
Lecture4Lecture4
Lecture4
Mohamed Awni
 
Matlab introduction
Matlab introductionMatlab introduction
Matlab introduction
Satish Gummadi
 
Introduction to matlab lecture 2 of 4
Introduction to matlab lecture 2 of 4Introduction to matlab lecture 2 of 4
Introduction to matlab lecture 2 of 4
Randa Elanwar
 
Introduction to Matlab - Basic Functions
Introduction to Matlab - Basic FunctionsIntroduction to Matlab - Basic Functions
Introduction to Matlab - Basic Functions
joellivz
 
Mat lab
Mat labMat lab
R-Data table Cheat Sheet
R-Data table Cheat SheetR-Data table Cheat Sheet
R-Data table Cheat Sheet
Dr. Volkan OBAN
 
Basics of Matlab for students and faculty
Basics of Matlab for students and facultyBasics of Matlab for students and faculty
Basics of Matlab for students and faculty
AbhishekRanjan17318
 
Matlab-1.pptx
Matlab-1.pptxMatlab-1.pptx
Matlab-1.pptx
aboma2hawi
 
Matlab Tutorial
Matlab TutorialMatlab Tutorial
Matlab Tutorial
Ahmad Siddiq
 
Introduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdf
Introduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdfIntroduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdf
Introduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdf
YasirMuhammadlawan
 
Matrix algebra in_r
Matrix algebra in_rMatrix algebra in_r
Matrix algebra in_r
Razzaqe
 
Matlab level 1.pptx
Matlab level 1.pptxMatlab level 1.pptx
Matlab level 1.pptx
AbanobGozef
 
Solution of matlab chapter 2
Solution of matlab chapter 2Solution of matlab chapter 2
Solution of matlab chapter 2
AhsanIrshad8
 
matrix algebra
matrix algebramatrix algebra
matrix algebra
kganu
 
Matlab Overviiew 2
Matlab Overviiew 2Matlab Overviiew 2
Matlab Overviiew 2
Nazim Naeem
 
Determinants, crammers law, Inverse by adjoint and the applications
Determinants, crammers law,  Inverse by adjoint and the applicationsDeterminants, crammers law,  Inverse by adjoint and the applications
Determinants, crammers law, Inverse by adjoint and the applications
NikoBellic28
 
sparse matrices in tress
sparse matrices in tresssparse matrices in tress
sparse matrices in tresspavialone
 
MATLAB-Introd.ppt
MATLAB-Introd.pptMATLAB-Introd.ppt
MATLAB-Introd.ppt
kebeAman
 

Similar to Matlab ch1 (3) (20)

Matlab
MatlabMatlab
Matlab
 
An Introduction to MATLAB for beginners
An Introduction to MATLAB for beginnersAn Introduction to MATLAB for beginners
An Introduction to MATLAB for beginners
 
Lecture4
Lecture4Lecture4
Lecture4
 
Matlab introduction
Matlab introductionMatlab introduction
Matlab introduction
 
Introduction to matlab lecture 2 of 4
Introduction to matlab lecture 2 of 4Introduction to matlab lecture 2 of 4
Introduction to matlab lecture 2 of 4
 
Introduction to Matlab - Basic Functions
Introduction to Matlab - Basic FunctionsIntroduction to Matlab - Basic Functions
Introduction to Matlab - Basic Functions
 
Mat lab
Mat labMat lab
Mat lab
 
R-Data table Cheat Sheet
R-Data table Cheat SheetR-Data table Cheat Sheet
R-Data table Cheat Sheet
 
Basics of Matlab for students and faculty
Basics of Matlab for students and facultyBasics of Matlab for students and faculty
Basics of Matlab for students and faculty
 
Matlab-1.pptx
Matlab-1.pptxMatlab-1.pptx
Matlab-1.pptx
 
Matlab Tutorial
Matlab TutorialMatlab Tutorial
Matlab Tutorial
 
Introduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdf
Introduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdfIntroduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdf
Introduction to matlab chapter2 by Dr.Bashir m. sa'ad.pdf
 
Matrix algebra in_r
Matrix algebra in_rMatrix algebra in_r
Matrix algebra in_r
 
Matlab level 1.pptx
Matlab level 1.pptxMatlab level 1.pptx
Matlab level 1.pptx
 
Solution of matlab chapter 2
Solution of matlab chapter 2Solution of matlab chapter 2
Solution of matlab chapter 2
 
matrix algebra
matrix algebramatrix algebra
matrix algebra
 
Matlab Overviiew 2
Matlab Overviiew 2Matlab Overviiew 2
Matlab Overviiew 2
 
Determinants, crammers law, Inverse by adjoint and the applications
Determinants, crammers law,  Inverse by adjoint and the applicationsDeterminants, crammers law,  Inverse by adjoint and the applications
Determinants, crammers law, Inverse by adjoint and the applications
 
sparse matrices in tress
sparse matrices in tresssparse matrices in tress
sparse matrices in tress
 
MATLAB-Introd.ppt
MATLAB-Introd.pptMATLAB-Introd.ppt
MATLAB-Introd.ppt
 

Recently uploaded

Deerfoot Church of Christ Bulletin 6 2 24
Deerfoot Church of Christ Bulletin 6 2 24Deerfoot Church of Christ Bulletin 6 2 24
Deerfoot Church of Christ Bulletin 6 2 24
deerfootcoc
 
Jude: Practical Exhortations_Jude 17-23.pptx
Jude: Practical Exhortations_Jude 17-23.pptxJude: Practical Exhortations_Jude 17-23.pptx
Jude: Practical Exhortations_Jude 17-23.pptx
Stephen Palm
 
Evangelization in the footsteps of Saint Vincent de Paul
Evangelization in the footsteps of Saint Vincent de PaulEvangelization in the footsteps of Saint Vincent de Paul
Evangelization in the footsteps of Saint Vincent de Paul
Famvin: the Worldwide Vincentian Family
 
The PBHP DYC ~ Reflections on The Dhamma (English).pptx
The PBHP DYC ~ Reflections on The Dhamma (English).pptxThe PBHP DYC ~ Reflections on The Dhamma (English).pptx
The PBHP DYC ~ Reflections on The Dhamma (English).pptx
OH TEIK BIN
 
St. John's Parish Magazine - June 2024 ..
St. John's Parish Magazine - June 2024 ..St. John's Parish Magazine - June 2024 ..
St. John's Parish Magazine - June 2024 ..
Chris Lyne
 
Kenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdf
Kenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdfKenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdf
Kenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdf
AlanBianch
 
TALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdf
TALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdfTALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdf
TALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdf
meharoof1
 
Qualifications in psychology _Dr.Navis.pdf
Qualifications in psychology _Dr.Navis.pdfQualifications in psychology _Dr.Navis.pdf
Qualifications in psychology _Dr.Navis.pdf
Oavis Or
 
What Should be the Christian View of Anime?
What Should be the Christian View of Anime?What Should be the Christian View of Anime?
What Should be the Christian View of Anime?
Joe Muraguri
 
Jesus Heals a Paralyzed Man for Children
Jesus Heals a Paralyzed Man for ChildrenJesus Heals a Paralyzed Man for Children
Jesus Heals a Paralyzed Man for Children
NelTorrente
 
Hebrew Gospel of Matthew by George Howard
Hebrew Gospel of Matthew by George HowardHebrew Gospel of Matthew by George Howard
Hebrew Gospel of Matthew by George Howard
GiovanniZdeOliveira
 
The Chakra System in our body - A Portal to Interdimensional Consciousness.pptx
The Chakra System in our body - A Portal to Interdimensional Consciousness.pptxThe Chakra System in our body - A Portal to Interdimensional Consciousness.pptx
The Chakra System in our body - A Portal to Interdimensional Consciousness.pptx
Bharat Technology
 
Homily: The Solemnity of the Most Holy Trinity Sunday 2024.docx
Homily: The Solemnity of the Most Holy Trinity Sunday 2024.docxHomily: The Solemnity of the Most Holy Trinity Sunday 2024.docx
Homily: The Solemnity of the Most Holy Trinity Sunday 2024.docx
James Knipper
 
Lesson 9 - Resisting Temptation Along the Way.pptx
Lesson 9 - Resisting Temptation Along the Way.pptxLesson 9 - Resisting Temptation Along the Way.pptx
Lesson 9 - Resisting Temptation Along the Way.pptx
Celso Napoleon
 
The Good News, newsletter for June 2024 is here
The Good News, newsletter for June 2024 is hereThe Good News, newsletter for June 2024 is here
The Good News, newsletter for June 2024 is here
NoHo FUMC
 
English - The Book of Joshua the Son of Nun.pdf
English - The Book of Joshua the Son of Nun.pdfEnglish - The Book of Joshua the Son of Nun.pdf
English - The Book of Joshua the Son of Nun.pdf
Filipino Tracts and Literature Society Inc.
 

Recently uploaded (16)

Deerfoot Church of Christ Bulletin 6 2 24
Deerfoot Church of Christ Bulletin 6 2 24Deerfoot Church of Christ Bulletin 6 2 24
Deerfoot Church of Christ Bulletin 6 2 24
 
Jude: Practical Exhortations_Jude 17-23.pptx
Jude: Practical Exhortations_Jude 17-23.pptxJude: Practical Exhortations_Jude 17-23.pptx
Jude: Practical Exhortations_Jude 17-23.pptx
 
Evangelization in the footsteps of Saint Vincent de Paul
Evangelization in the footsteps of Saint Vincent de PaulEvangelization in the footsteps of Saint Vincent de Paul
Evangelization in the footsteps of Saint Vincent de Paul
 
The PBHP DYC ~ Reflections on The Dhamma (English).pptx
The PBHP DYC ~ Reflections on The Dhamma (English).pptxThe PBHP DYC ~ Reflections on The Dhamma (English).pptx
The PBHP DYC ~ Reflections on The Dhamma (English).pptx
 
St. John's Parish Magazine - June 2024 ..
St. John's Parish Magazine - June 2024 ..St. John's Parish Magazine - June 2024 ..
St. John's Parish Magazine - June 2024 ..
 
Kenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdf
Kenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdfKenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdf
Kenneth Grant - Against the Light-Holmes Pub Grou Llc (1999).pdf
 
TALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdf
TALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdfTALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdf
TALABALESHWARA TEMPLE AND KODAVA AIN MANE.pdf
 
Qualifications in psychology _Dr.Navis.pdf
Qualifications in psychology _Dr.Navis.pdfQualifications in psychology _Dr.Navis.pdf
Qualifications in psychology _Dr.Navis.pdf
 
What Should be the Christian View of Anime?
What Should be the Christian View of Anime?What Should be the Christian View of Anime?
What Should be the Christian View of Anime?
 
Jesus Heals a Paralyzed Man for Children
Jesus Heals a Paralyzed Man for ChildrenJesus Heals a Paralyzed Man for Children
Jesus Heals a Paralyzed Man for Children
 
Hebrew Gospel of Matthew by George Howard
Hebrew Gospel of Matthew by George HowardHebrew Gospel of Matthew by George Howard
Hebrew Gospel of Matthew by George Howard
 
The Chakra System in our body - A Portal to Interdimensional Consciousness.pptx
The Chakra System in our body - A Portal to Interdimensional Consciousness.pptxThe Chakra System in our body - A Portal to Interdimensional Consciousness.pptx
The Chakra System in our body - A Portal to Interdimensional Consciousness.pptx
 
Homily: The Solemnity of the Most Holy Trinity Sunday 2024.docx
Homily: The Solemnity of the Most Holy Trinity Sunday 2024.docxHomily: The Solemnity of the Most Holy Trinity Sunday 2024.docx
Homily: The Solemnity of the Most Holy Trinity Sunday 2024.docx
 
Lesson 9 - Resisting Temptation Along the Way.pptx
Lesson 9 - Resisting Temptation Along the Way.pptxLesson 9 - Resisting Temptation Along the Way.pptx
Lesson 9 - Resisting Temptation Along the Way.pptx
 
The Good News, newsletter for June 2024 is here
The Good News, newsletter for June 2024 is hereThe Good News, newsletter for June 2024 is here
The Good News, newsletter for June 2024 is here
 
English - The Book of Joshua the Son of Nun.pdf
English - The Book of Joshua the Son of Nun.pdfEnglish - The Book of Joshua the Son of Nun.pdf
English - The Book of Joshua the Son of Nun.pdf
 

Matlab ch1 (3)

  • 1. Chapter 2 Creating Arrays MATLAB An Introduction with Applications, 5th Edition Dr. Amos Gilat The Ohio State University
  • 2. An array is MATLAB's basic data structure • Can have any number of dimensions. Most common are (i) vector - one dimension (a single row or column) (ii) matrix - two or more dimensions • Arrays can have numbers or letters
  • 3. 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR) To create a row vector from known numbers, type variable name, then equal sign, then inside square brackets, numbers separated by spaces and/or commas variable_name = [ n1, n2, n3 ] >> yr = [1984 1986 1988 1990 1992 1994 1996] yr = 1984 1986 1988 1999 1992 1994 1996 Note MATLAB displays row vector horizontally
  • 4. 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR) To create a column vector from known numbers • Method 1 - same as row vector but put semicolon after all but last number variable_name = [ n1; n2; n3 ] >> yr = [1984; 1986; 1988] yr = 1984 1986 1988 Note MATLAB displays column vector vertically
  • 5. • Method 2 - same as row vector but put apostrophe () after closing bracket Apostrophe interchanges rows and columns. Will study later variable_name = [ n1 n2 n3 ]' >> yr = [1984 1986 1988 ]' yr = 1984 1986 1988 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
  • 6. To create a vector with specified constant spacing between elements variable_name = m:q:n • m is first number • n is last number • q is difference between consecutive numbers V = m:q:n means v = [m m+q m+2q m+3q ... n ] 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
  • 7. If omit q, spacing is one V = m:n means v = [m m+1 m+2 m+3 ... n] >> X = 1:2:13 X = 1 3 5 7 9 11 13 >> y = 1.5:0.1:2.1 Non-integer spacing y = 1.5000 1.6000 11.7000 1.8000 1.9000 2.0000 2.1000 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
  • 8. >> Z = -3:7 z = -3 -2 -1 0 1 2 3 4 5 6 7 >> xa = 21: -3:6 Negative spacing xa = 21 18 15 12 9 6 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
  • 9. To create a vector with specified number of terms between first and last v = linspace( xi, xf, n ) • xi is first number • xf is last number • n is number of terms (= 100 if omitted) 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR)
  • 10. >> va = linspace( 0, 8, 6 ) Six elements va = 0 1.6000 3.2000 4.8000 64000 8.0000 >> va = linspace( 30, 10, 11 ) Decreasing elements va=30 28 26 24 22 20 18 16 14 m:q:n lets you directly specify spacing.linspace() lets you directly specify number of terms 2.1 CREATING A ONE-DIMENSIONAL ARRAY(VECTOR) T I P
  • 11. Create a two-dimensional matrix like this m = [ row 1 numbers; row 2 numbers; ...; last row numbers ] • Each row separated by semicolon • All rows have same number of columns >> a=[ 5 35 43; 4 76 81; 21 32 40] a = 5 35 43 4 76 81 21 32 40 2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
  • 12. >> cd=6; e=3; h=4; Commas optional >> Mat=[e, cd*h , cos(pi/3);... h^2 sqrt(h*h/cd) 14] Mat = 3.0000 24.0000 0.5000 16.0000 1.6330 14.0000 2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
  • 13. Can also use m:p:n or linspace() to make rows • Make sure each row has same number of columns >> A=[1:2:11; 0:5:25;... linespace(10,60,6); 67 2 43 68 4 13] A= 1 3 5 7 9 11 0 5 10 15 20 25 10 20 30 40 50 60 67 2 43 68 4 13 2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
  • 14. What if number of columns different? Four columns Five columns >> B = [ 1 : 4 ; linspace (1 , 4 , 5) ] ??? Error using ==> vertcat CAT arguments dimensions are not consistent >> B= [ 1:5; linspace (1,4,5)] B= 1.0000 2.0000 3.0000 4.0000 5.0000 1.0000 1.7500 2.5000 3.2500 4.0000 2.2 CREATING A TWO-DIMENSIONAL ARRAY(MATRIX)
  • 15. 2.2.1 The zeros, ones and, eye Commands • zeros (m, n) - makes matrix of m rows and n columns, all with zeros • ones (m, n) - makes matrix of m rows and n columns, all with ones • eye (n) - makes square matrix of n rows and columns. Main diagonal (upper left to lower right) has ones, all other elements are zero
  • 16. >> zr=zeros (3, 4) zr= Ο Ο Ο Ο Ο Ο.Ο Ο Ο Ο Ο Ο >> ne=ones (4, 3) ne = 1 1 1 1 1 1 1 1 1 1 1 1 >>idn=eye (5) idn = 1 Ο Ο Ο Ο Ο 1 Ο Ο Ο Ο Ο 1 Ο Ο Ο Ο Ο 1 Ο Ο Ο Ο Ο 1 2.2.1 The zeros, ones and, eye Commands
  • 17. To make a matrix filled with a particular number, multiply ones (m, n) by that number >> z=100*ones (3,4) z = 100 100 100 100 100 100 100 100 100 100 100 100 2.2.1 The zeros, ones and, eye Commands T I P
  • 18. 2.3 NOTES ABOUT VARIABLES IN MATLAB • All variables are arrays Scalar - array with only one element Vector - array with only one row or column Matrix - array with multiple rows and columns • Assigning to variable specifies its dimension Don't have to define variable size before assigning to it, as you do in many programming languages • Reassigning to variable changes its dimension to that of assignment
  • 19. 2.4 THE TRANSPOSE OPERATOR Transpose a variable by putting a single quote after it, e.g., x' In math, transpose usually denoted by superscript "T", e.g., 𝑥 𝑇 • Converts a row vector to a column vector and vice-versa • Switches rows and columns of a matrix, i.e., first row of original becomes first column of transposed, second row of original becomes second column of transposed, etc.
  • 20. >> aa = [ 3 8 1 ] aa = 3 8 1 >> bb = aa' or [ aa ]' bb = 3 8 1 2.4 THE TRANSPOSE OPERATOR
  • 21. >> C= [2 55 14 8; 21 5 32 11; 41 64 9 1] C = 2 55 14 8 21 5 32 11 41 64 9 1 >> D=C’ D= 2 21 41 55 5 64 14 32 9 8 11 1 2.4 THE TRANSPOSE OPERATOR
  • 22. 3.5 ARRAY ADDRESSING Can access (read from or write to) elements in array (vector or matrix) individually or in groups • Useful for changing subset of elements • Useful for making new variable from subset of elements
  • 23. 2.5.1 Vector Address of element is its position in the vector • "address" often called index • Addresses always start at 1 (not o) Address 1 of row vector is leftmost element Address 1 of column vector is topmost element • To access element of a vector represented by a variable, follow variables name by address inside parentheses, e.g., v (2) =20 sets second element of vector v to 20
  • 24. >> VCT=[ 35 46 78 23 5 14 81 3 55 ] VCT = 35 46 78 23 5 14 81 3 55 >> VCT (4) ans = 23 >> VCT (6) =273 VCT = 35 46 78 23 5 273 81 3 55 >> VCT (2) +VCT (8) ans = 49 >> VCT (5) ^VCT (8) +sqrt (VCT (7)) ans = 134 2.5.1 Vector
  • 25. Address of element in a matrix is given by row number and column number. Address often called index or subscript • Addresses always start at 1 (not o) Row 1 is top row Column 1 is left column • If variable ma is a matrix, ma (k, p) is element in row k and column p In MATLAB, left index always refers to row, right index to column 2.5.2 Matrix T I P
  • 26. >> MAT=[ 3 11 6 5; 4 7 10 2; 13 9 0 8 ] MAT = Column 1 3 11 6 5 4 7 10 2 Row 3 13 9 0 8 Element in row 3 and column 1 >> MAT(3,1) ans = 13 >> MAT(3,1)=20 Assign new value to element MAT = in row 3 and column 1 3 11 6 5 4 7 10 2 9 0 8 Only this element changed >> MAT(2,4)-MAT(1,2) ans = -9 2.5.2 Matrix 20
  • 27. 2.6 USING A COLON : IN ADDRESSING ARRAYS The colon : lets you address a range of elements • Vector (row or column) va(:) - all elements va(m:n) - elements m through n • Matrix A(:,n) - all rows of column n A(m.) - all columns of row m A(:,m:n) - all rows of columns m through n A(m:n,:) - all columns of rows m through n A(m:n,p:q) - columns p through 2 of rows m through n
  • 28. >> A=[ 1:2:11; 2:2:12; 3:3:18; 4:4:24; 5:5:30 ] A = 1 3 5 7 9 11 2 4 6 8 10 12 3 6 9 12 15 18 4 8 12 16 20 24 5 10 15 20 25 30 >> B=A(:,3) All rows of column 3 B = 5 6 9 12 15 2.6 USING A COLON : IN ADDRESSING ARRAYS
  • 29. >> C=A(2,:) All columns of row 2 C = 2 4 6 8 10 12 >> E=A(2:4,:) All columns of row two through four E = 2 4 6 8 10 12 3 6 9 12 15 18 4 8 12 16 20 24 >> F=A(1:3,2:4) columns two through four of rows F = one through three 3 5 7 4 6 8 6 9 12 2.6 USING A COLON : IN ADDRESSING ARRAYS
  • 30. Can replace vector index or matrix indices by vectors in order to pick out specific elements. For example, for vector V and matrix m • V ([a b c:d]) returns elements a, b,and c through d • m ([a b], [c:d e]) returns columns through d and column e of rows a and b 2.6 USING A COLON : IN ADDRESSING ARRAYS
  • 31. >> v=4:3:34 v = 4 7 10 13 16 19 22 25 28 31 34 >> u=v([3, 5, 7:10]) u = 10 16 22 25 28 31 2.6 USING A COLON : IN ADDRESSING ARRAYS
  • 32. >> A=[10:-1:4; ones(1,7); 2:2:14; zeros(1,7)] A = 10 9 8 7 6 5 4 1 1 1 1 1 1 1 2 4 6 8 10 12 14 0 0 0 0 0 0 0 >> B = A([1,3],[1,3,5:7]) B = 10 8 6 5 4 2 6 10 12 14 2.6 USING A COLON : IN ADDRESSING ARRAYS
  • 33. 2.7 ADDING ELEMENTS TO EXISTING VARIABLES Two ways to add elements to existing variables 1-Assign values to indices that don't exist • MATLAB expands array to include indices, puts specified values in assigned elements, fills any unassigned new elements with zeros 2-Add values to ends of variables • Adding to ends of variables is called appending or concatenating • "end" of vector is right side of row vector or bottom of column vector • "end" of matrix is right column or bottom row
  • 34. Assigning to undefined indices of vectors >> DF=1:4 DE = 1 2 3 4 >> DF (5:10)=10:5:35 DF = 1 2 3 4 10 15 20 25 30 35 >> AD=[5 7 2] AD = 5 7 2 >> AD (8)=4 AD = 5 7 2 0 0 0 0 4 >> AR (5) =24 unassigned elements set to zero AR = 0 0 0 0 24 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 35. Appending to vectors • Can only append row vectors to row vectors and column vectors to column vectors If rl and r2 are any row vectors, r3 = [r1 r2] is a row vector whose left part is r1 and right part is r2 If cl and c2 are any column vectors, c3 = [cl; c2] is a column vector whose top part is c1 and bottom part is c2 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 36. >> GT=4:3:16; >> KNH=[RE GT] KNH = 3 8 1 24 4 7 10 13 16 >> KNV=[RE'; GT'] KNV = 3 8 1 24 4 7 10 13 16 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 37. Assigning to undefined indices of matrices >> AW=[3 6 9; 8 5 11] AW doesn't have a fourth row or fifth column AW = 3 6 9 8 5 11 >> AW(4,5)=17 AW = 3 6 9 0 0 Now it does! 8 5 11 0 0 0 0 0 0 0 0 0 0 0 17 >> BG(3,4)=15 BG = 0 0 0 0 unassigned elements set to zeros 0 0 0 0 0 0 0 15 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 38. Appending to matrices • If appending one matrix to right side of other matrix, both must have same number of rows • If appending one matrix to bottom of other matrix, both must have same number of columns 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 39. >> A2=[1 2 3; 4 5 6] A2 = 1 2 3 4 5 6 >> B2=[7 8; 9 10] B2 = 7 8 9 10 >> C2=eye(3) C2 = 1 0 0 0 1 0 0 0 1 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 40. >> Z=[A2 B2] Z = 1 2 3 7 8 4 5 6 9 10 >> Z=[A2; C2] Z = 1 2 3 4 5 6 1 0 0 0 1 0 0 0 1 >> Z=[A2; B2] ??? Error using ==> vertcat CAT arguments dimensions are not consistent 2.7 ADDING ELEMENTS TO EXISTING VARIABLES
  • 41. 2.8 DELETING ELEMENTS To delete elements in a vector or matrix, set range to be deleted to empty brackets >> kt=[2 8 40 65 3 55 23 15 75 80] kt = 2 8 40 65 3 55 23 15 75 80 >> kt(6)=[ ] Delete sixth element (55) kt = 2 8 40 65 3 23 15 75 80 55 gone >> kt(3:6)=[ ] Delete elements 3 through 6 of current kt = kt, not original 2 8 15 75 80
  • 42. To delete elements in a vector or matrix, set range to be deleted to empty brackets >> mtr=[5 78 4 24 9; 4 0 36 60 12; 56 13 5 89 3] mtr = 5 78 4 24 9 4 0 36 60 12 56 13 5 89 3 >> mtr(:,2:4)=[ ] mtr = 5 9 4 12 56 3 2.8 DELETING ELEMENTS
  • 43. MATLAB has many built-in functions for working with arrays. Some common ones are: • length(v) -- number of elements in a vector • size(A) -- number of rows and columns in a matrix or vector • reshape(A, m, n) -- changes number of rows and columns of a matrix or vector while keeping total number of elements the same. For example, changes 4x4 matrix to 2x8 matrix 2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS
  • 44. • diag(v) -- makes a square matrix of zeroes with vector in main diagonal • diag(A) -- creates vector equal to main diagonal of matrix For more functions, click on the Help icon, then in the Help window click on MATLAB, then on “MATLAB functions”, then on “By Category", then scroll down to the section labeled "Matrices and Arrays" 2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS
  • 45. A string is an array of characters Strings have many uses in MATLAB • Display text output • Specify formatting for plots • Input arguments for some functions • Text input from user or data files 2.10 STRINGS AND STRINGS AS VARIABLES
  • 46. • Create a string by typing characters within single quotes (') ? Many programming languages use the quotation mark (") for strings. Not MATLAB! • When typing in string ? Color of text changes to maroon when type first single quote Color of text changes to purple when type last single quote 2.10 STRINGS AND STRINGS AS VARIABLES
  • 47. • Can have letters, digits, symbols, spaces? To type single quote in string, use two consecutive single quotes, e.g., make the string of English "Greg's car" by typing 'Greg''s car' Examples: 'ad ef' , '3%fr2', 'edcba:21!', 'MATLAB' 2.10 STRINGS AND STRINGS AS VARIABLES
  • 48. Can assign string to a variable, just like numbers >> name = 'Sting' name = Sting >> police = 'New York''s finest‘ police = New York's finest 2.10 STRINGS AND STRINGS AS VARIABLES
  • 49. In a string variable • Numbers are stored as an array • A one--line string is a row vector ? Number of elements in vector is number of characters in string >> name = 'Howard the Duck'; >> size( name ) ans = 1 15 2.10 STRINGS AND STRINGS AS VARIABLES
  • 50. Strings are indexed the same way as vectors and matrices • Can read by index • Can write by index • Can delete by index 2.10 STRINGS AND STRINGS AS VARIABLES
  • 51. Example >> word = 'dale'; >> word(1) ans = d >> word(1) = 'v' word = vale >> word(end) =[ ] word = val >> word(end+1:end+3) = 'ley' word = valley 2.10 STRINGS AND STRINGS AS VARIABLES
  • 52. MATLAB stores strings with multiple lines as an array. This means each line must have the same number of columns (characters) >> names = [ 'Greg'; 'John' ] names = Greg John >> size( names ) ans = 2 4 2.10 STRINGS AND STRINGS AS VARIABLES
  • 53. Problem 4 characters 3 characters >> names = [ 'Greg'; 'Jon' ] ??? Error using ==> vertcat CAT arguments dimensions are not consistent. Must put in extra characters (usually spaces) by hand so that all rows have same number of characters >> names = [ 'Greg'; 'Jon ' ] Greg Extra space Jon 2.10 STRINGS AND STRINGS AS VARIABLES
  • 54. Making sure each line of text has the same number of characters is a big pain. MATLAB solves problem with char function, which pads each line on the right with enough spaces so that all lines have the same number of characters char('string 1', 'string 2', 'string 3') 2.10 STRINGS AND STRINGS AS VARIABLES
  • 55. EXAMPLE >> question=char('Romeo,Romeo,',... 'Wherefore art thou', 'Romeo?' ) question = 'Romeo, Romeo, ' 'Wherefore art thou' this is 3x18 'Romeo? ' >> size( question ) ans = 3 18 2.10 STRINGS AND STRINGS AS VARIABLES
  • 56. Three lines of text stored in a 3x18 array MATLAB makes all rows as long as longest row • First and third rows above have enough space characters added on ends to make each row 18 characters long 2.10 STRINGS AND STRINGS AS VARIABLES R o m e o , R o m e o , W h e r e f o r e a r t t h o u o R o m e o ?

Editor's Notes

  1. Row 3 Assign new value to element in row 3 and column 1