MATLAB - Lecture # 2: Creating Arrays
MATLAB - Lecture # 2: Creating Arrays
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:
>> 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
>> 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
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
>> 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 = [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:
the rows.
>> 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 “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