Title: 18.%20Two-Dimensional%20Arrays
118. Two-Dimensional Arrays
- Set-Up
- Rows and Columns
- Subscripting
- Operations
- Examples
22-d array matrix
c
- An array is a named collection of like data
organized into rows and columns - A 2-d array is a table, called a matrix
- Two indices identify the position of a value in a
matrix, e.g., - mat(r,c)
- refers to component in row r, column c of matrix
mat - Array index starts at 1
- Rectangular all rows have the same of columns
3Simple Set-Up Examples
- gtgt A 1 2 3 4 5 6
- A
- 1 2 3
- 4 5 6
4Simple Set-Up Examples
- gtgt A zeros(3,4)
- A
- 0 0 0 0
- 0 0 0 0
- 0 0 0 0
5Simple Set-Up Examples
- gtgt A floor(100rand(5,5))
- A
- 95 76 61 40 5
- 23 45 79 93 35
- 60 1 92 91 81
- 48 82 73 41 0
- 89 44 17 89 13
6Simple Set-Up Examples
- gtgt A zeros(3,2) 123
- A
- 0 0 1
- 0 0 2
- 0 0 3
7Simple Set-Up Examples
- gtgt A zeros(3,2) 1 2
- A
- 0 0
- 0 0
- 0 0
- 1 2
8Rows and Columns
row 1
row 2
row 3
col 4
col 3
col 2
col 1
A is a 3-by-4 array 3 rows 4 columns.
9Subscripting
Individual entries A(3,2)
10Subscripting
An Entire Row A(2,)
11Scaling a Row
Before
After
A(2,) 10A(2,)
12Subscripting
An Entire Column A(,3)
13Incrementing the Values in a Column
Before
After
A(,3) A(,3) 1
14Subscripting
A General Subarray A(23,34)
15Zeroing a Subarray
Before
After
A(23,34) zeros(2,2)
16Classical Double Loop Set-Up
for i13 for j14 A(i,j) 10j i
end end
17Set-Up By Row
A for i13 v 10 20 30 40 i A
A v end
18Set-Up By Column
A for j14 v 10j 123 A
A v end
19Question Time
- A 1 2 3 4 5 6
- C A(,2)
- What the value of A(2,2)?
A. 4 B. 5 C. 6
20Question Time
- A 1 2 3 4 5 6
- A A(12,23)
- What the value of A(2,2)?
A. 4 B. 5 C. 6
21Largest Value
83 53 82 77
m
M
83
m max(A) M max(m)
22Functions and 2D Arrays
- function alpha Ave(A)
- A is a 2D array.
- alpha is the average of its
- values.
10 20 30 40 50 60
-gt (102030405060)/6
23Need Built-In Function size
- function alpha Ave(A)
- m,n size(A)
-
- Add up all the numbers in
- the array. Store in s.
- alpha s/(mn)
size(A) returns rows and columns
24Refine
- function alpha Ave(A)
- m,n size(A)
- s 0
- for i1m
- sRow the sum of the values in A(i,)
- s s sRow
- end
- alpha s/(mn)
25 sRow the sum of the values in A(i,)
sRow 0 for j1n sRow sRow A(i,j) end
26- function alpha Ave(A)
- m,n size(A)
- s 0
- for i1m
- s s sRow
- end
- alpha s/(mn)
sRow 0 for j1n sRow sRow A(i,j) end
27Now Some More Involved Examples
28Random Web
- N web pages
- N-by-N Link Array A.
- A(i,j) is 1 if there is a link
- on webpage j to webpage i
- Generate a random link array and display the
connectivity.
29Random Link Idea
- A(i,,j) 1 with probability
- More likely to be a link
- if i is close to j.
30- function A RandomLinks(n)
- A zeros(n,n)
- for i1n
- for j1n
- r rand
- if ij rlt 1/(1 abs(i-j))
- A(i,j) 1
- end
- end
- end
31 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
0 1 1 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0
0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
N 20
32100 Web pages. Now display the links.
33Line black as it leaves page j, red when it
arrives at page i.