0% found this document useful (0 votes)
103 views

MATLAB - Lecture # 2: Creating Arrays

The document discusses creating and addressing arrays in MATLAB. It covers: 1. Creating vectors (1D arrays) by entering data in rows or columns. Vectors can also be created with constant spacing or by specifying the first, last, and number of terms. 2. Creating matrices (2D arrays) by entering data row by row. Matrices can have any number of rows and columns. 3. The transpose operation, which for vectors switches rows and columns, and for matrices interchanges rows and columns. 3. Addressing elements in arrays using indices, where the first element has an index of 1. Single elements can be used in computations or changed directly. A colon can select a

Uploaded by

joe1915
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views

MATLAB - Lecture # 2: Creating Arrays

The document discusses creating and addressing arrays in MATLAB. It covers: 1. Creating vectors (1D arrays) by entering data in rows or columns. Vectors can also be created with constant spacing or by specifying the first, last, and number of terms. 2. Creating matrices (2D arrays) by entering data row by row. Matrices can have any number of rows and columns. 3. The transpose operation, which for vectors switches rows and columns, and for matrices interchanges rows and columns. 3. Addressing elements in arrays using indices, where the first element has an index of 1. Single elements can be used in computations or changed directly. A colon can select a

Uploaded by

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

MATLAB - Lecture # 2

Creating Arrays
Topics Covered:
1. Creating arrays of numbers (vectors
and matrices).
2. Array addressing.
27-
Arrays of numbers are used in many applications. 28
Examples:
Arrays of numbers can represent data:

Year 1984 1986 1988 1990 1992 1994 1996

Population 127 130 136 145 158 178 211

Array of numbers can represent a vector.


An example is a position vector. The location of point P in a three
dimensional space can be represented by
the three Cartesian coordinates 2, 4, and 5. z

A position vector that points to the A(2, 4, 5)


rA
location of point A relative to point O
(the origin of the coordinate system) O 5
in defined by: x
4 y
rA = 2i + 4j + 5k 2
27-
In MATLAB, a vector, or any list of numbers, can be 28
entered in a horizontal (row) or vertical (column)
vectors.
For example, the population data in the previous slide can be entered
in rows:
[1984 1986 1988 1990 1992 1994 1996]
[127 130 136 145 158 178 211]
or in columns:
1984 127  The position vector
1986 130  can be entered in a:
   
1988 136 
    row: [2 4 5]
1990 145 
1992 158  column:
     2
1994 178   4
1996 211  
   
5 
28-
CREATING A VECTOR IN MATLAB 29
A vector is created by typing the elements (numbers) inside
square brackets [ ].
To create a row vector type a space or a comma between the
elements inside the square brackets.

>> yr=[1984 1986 1988 1990 1992 1994 1996] Type and press Enter
yr = Computer response
1984 1986 1988 1990 1992 1994
1996
>> pntAH = [2,4,5] Type and press Enter
pntAH =
Computer response
2 4 5

NOTE: MATLAB is not “picky” about how the data is typed in. You
can type spaces before and/or after the = sign. Between the
elements you can have a space in addition to the comma, or you
can type more than one space.
28-
29
To create a column vector type a left bracket [ and
then enter the elements with a semicolon between them,
or press Enter after each element. Type a right bracket ]
after the last element.

>> pop = [127; 130; 136; 145; 158; 178; 211] Type and press Enter
pop =
Computer response
127
130
136
Type and press Enter
145 >> pntAV = [2 after the 2, the 4 and
158 4 after the ].
5]
178
pntAV = Computer response
211
2
4
5
29-
CREATING A VECTOR WITH CONSTANT SPACING 30
In a vector with constant spacing the difference between the elements
is the same, (e.g. v = 2 4 6 8 10 12).
A vector in which the first term is m, the spacing is q and the last term
is n can be created by typing [m:q:n].

>> x = [1:2:13]
x=
1 3 5 7 9 11 13

>> x = [1.5:0.1:2.1]
x=
1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 2.1000

If spacing is omitted the default is 1

>> x = [-3:7]
x=
-3 -2 -1 0 1 2 3 4 5 6 7
30
CREATING A VECTOR BY SPACIFYING THE
FIRST AND LAST TERMS, AND THE NUMBER
OF TERMS
A vector in which the first term is xi, the last term is xf, and the number
of terms is n, can be created by typing linspace(xi,xf,n).

>> u = linspace(0,8,6)
u=
0 1.6000 3.2000 4.8000 6.4000 8.0000
If the number of terms is omitted the default is 100
Type:
>> u = linspace(0,49.5)
press Enter and watch the response of the computer.
It should be:
u = 0 0.5000 1.0000 1.5000 …(100 terms)… 49.0000 49.5000
30-
32
TWO DIMENSIONAL ARRAY - MATRIX

A matrix is a two dimensional array of numbers.


In a square matrix the number of rows and columns is equal:
7 4 9
3 8 1 Three rows and three columns (3x3)
6 5 3
In general, the number of rows and columns can be different:

31 26 14 18 5 30
3 51 20 11 43 65 Four rows and six columns (4x6)
28 6 15 61 34 22
14 58 6 36 93 7

(mxn) matrix has m rows and n columns


(mxn) is called the size of the matrix
30-
32
CREATING A MATRIX IN MATLAB
A Matrix is created by typing the elements (numbers) row by row
inside square brackets [ ].
Type the left bracket [ , then type in the first row separating the
elements with spaces or commas. To type the next row type a
semicolon or press Enter. Type the right bracket ] at the end of
the last row.

>> a = [5 35 43; 4 76 81; 21 32 40] Type and press Enter


a=
5 35 43
4 76 81 Computer response
21 32 40

>> b = [7 2 76 33 8 Type and press Enter


1 98 6 25 6 after each row and
5 54 68 9 0] after the ].
b=
7 2 76 33 8
1 98 6 25 6 Computer response
5 54 68 9 0
33-
THE TRANSPOSE OPERATION 34
The transpose operation ‘

For a vector: Converts a row vector to a column vector, or vice versa.

For a matrix: Interchanges the rows and columns.

Example for a vector:


>> a = [3 8 1]
a=
3 8 1
>> b = a'
b=
3
8
1
33-
THE TRANSPOSE OPERATION 34
Example for a matrix:

>> 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
34-
35
ARRAY ADDRESSING (VECTOR)
The address of an element in a vector is its position in the row (or column).
For a vector v, v(k) refer to the element in position k. The first position is 1.

>> v = [35 46 78 23 5 14 81 3 55]


v=
35 46 78 23 5 14 81 3 55
>> v(4) >> v(7) >> v(1)
ans = ans = ans =
23 81 35
It is possible to change an element in a vector by entering a value to
a specific address directly:
>> v(6)=273
v=
35 46 78 23 5 273 81 3 55

Single elements can be used >> v(2)+v(8) >> v(5)^v(8)


like variables in computations: ans = ans =
49 125
35-
ARRAY ADDRESSING (MATRIX) 36
The address of an element in a Matrix is its position, defined by the
number of row and the number of column.
For a matrix m, m(k,p) refer to the element in row k and column p.
>> m=[3 11 6 5; 4 7 10 2; 13 9 0 8]
m=
3 11 6 5
4 7 10 2
13 9 0 8

>> m(1,1) >> m(2,3)


ans = ans =
3 10
It is possible to change an element in a matrix by entering a value to
a specific address directly:
>> m(3,1)=20
m= Single elements can >> m(2,4)-m(1,2)
3 11 6 5 be used like variables ans =
4 7 10 2 -9
20 9 0 8 in computations:
36-
USING A COLON (:) IN ADDRESSING ARRAYS 37
A colon can be used to address a range of elements in a vector
or a matrix.
For a vector:

v(:) Represents all the elements of a vector (either row vector


or column vector)
v(3:6) Represents elements 3 through 6. (i.e. v(3), v(4), v(5), v(6)).

>> v = [4 15 8 12 34 2 50 23 11]
v=
4 15 8 12 34 2 50 23
11
>> u = v(3:7)
u=
8 12 34 2 50
36-
USING A COLON (:) IN ADDRESSING ARRAYS 37
For a matrix:

A(: , 3) Refers to the elements in all the rows of column 3).

A(2 , :) Refers to the elements in all the columns of row 2).

A(: , 2:5) Refers to the elements in columns 2 through 5 in all

the rows.

A(2:4, :) Refers to the elements in rows 2 through 4 in all


the columns.

A(1:3, 2:4) Refers to the elements in rows 1 through 3 and in


columns 2 through 4.
36-
EXAMPLES OF USING A COLON (:) IN 37
ADDRESSING ARRAYS
Define a matrix
>> B = A(:,3)

>> A = [1 3 5 7 9; 2 4 6 8 10; B=

3 6 9 12 15; 4 8 12 16 20; 5

5 10 15 20 25] 6

A= 9

1 3 5 7 9 12

2 4 6 8 10 15

3 6 9 12 15 >> C = A(2,:)
4 8 12 16 20 C=
5 10 15 20 25 2 4 6 8 10
36-
EXAMPLES OF USING A COLON (:) IN 37
ADDRESSING ARRAYS (CONT.)
A= >> E = A(2:4,:)
1 3 5 7 9 E=
2 4 6 8 10 2 4 6 8 10
3 6 9 12 15 3 6 9 12 15
4 8 12 16 20 4 8 12 16 20
5 10 15 20 25 >> D = A(:, 2:5)
>> F = A(1:3,2:4)
D=
F=
3 5 7 9
3 5 7
4 6 8 10
4 6 8
6 9 12 15
6 9 12
8 12 16 20
10 15 20 25
33,
SOME USEFUL NOTES ABOUT VARIABLES 42
 All variables in MATLAB are arrays. A scalar is an array with one
element, a vector is an array with one row or one column of
elements, and a matrix is an array of rows and columns of
elements.

 The variable type is defined by the input when the variable is


created.

 The element (scalar) or elements (vector, matrix) of a variable can


be numbers (real or complex), or expressions.

 The “who” command shows what variables are currently stored in


the memory.

The “whos” command lists the the variables currently stored in the
memory, their type, and the amount of memory used by each.
42-
EXAMPLE 43
>> a = 7
a=
>> who
7
Your variables are:
>> E = 3
E=
E a d g
3
>> whos
>> d = [5 a+E 4 E^2]
Name Size Bytes Class
d=
5 10 4 9
E 1x1 8 double array
a 1x1 8 double array
>> g = [a a^2 13; a*E 1 a^E]
d 1x4 32 double array
g=
g 2x3 48 double array
7 49 13
Grand total is 12 elements using 96 bytes
21 1 343

You might also like