This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
gibson:teaching:spring-2016:math445:lecture:vectors [2016/01/27 09:36] gibson |
gibson:teaching:spring-2016:math445:lecture:vectors [2016/01/28 11:33] (current) gibson [Math 445 lecture 2: Vectors] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Math 445 lecture 2: Vectors ====== | ====== Math 445 lecture 2: Vectors ====== | ||
| + | topics | ||
| + | |||
| + | <code> | ||
| + | [] % creating vector vectors with square brackets | ||
| + | () % accessing/assigning vector elements with parentheses | ||
| + | ' % the transpose operator, apostrophe | ||
| + | : % the colon operator, making range vectors | ||
| + | + - % vector addition, subtraction | ||
| + | .* ./ .^ % elementwise vector operations | ||
| + | </code> | ||
| ===== Vectors in math ===== | ===== Vectors in math ===== | ||
| Line 18: | Line 28: | ||
| </latex> | </latex> | ||
| - | ===== Creating vectors with explicit lists ===== | + | ===== Creating vectors with explicit lists in square brackets ===== |
| - | In Matlab, there's a distinction between **row vector** and **column vectors**. | + | In Matlab, there's a distinction between row vector and column vectors. |
| - | You can construct row vectors by listing elements between **square brackets**, | + | You can construct **row vectors** by listing elements between **square brackets**, |
| - | with either spaces or commas between. | + | with either **spaces** or **commas** between. |
| <code> | <code> | ||
| - | v = [4.3 5.9 0.1] % spaces between elements, or | + | >> v = [4.3 5.9 0.1] % assign a row vector into variable v |
| - | v = [4.3, 5.9, 0.1] % commas between elements | + | v = |
| + | |||
| + | 4.3000 5.9000 0.1000 | ||
| </code> | </code> | ||
| Line 33: | Line 45: | ||
| <code> | <code> | ||
| - | v = [4.3; 5.9; 0.1] % semicolons between elements, or | + | >> v = [4.3; 5.9; 0.1] % assign a col vector into variable v |
| + | |||
| + | v = | ||
| + | |||
| + | 4.3000 | ||
| + | 5.9000 | ||
| + | 0.1000 | ||
| </code> | </code> | ||
| - | ===== The transpose operator ===== | + | ===== Accessing elements with parentheses ===== |
| + | |||
| + | In Matlab, you access the elements of a vector using **parentheses**. E.g. given the above vector v, you **get** the 2nd component of v this way | ||
| + | |||
| + | <code> | ||
| + | >> v(2) | ||
| + | |||
| + | ans = | ||
| + | |||
| + | 5.9000 | ||
| + | </code> | ||
| + | |||
| + | Note what happened there. We asked Matlab for the 2nd element of v. It **returned** the value 5.9 and assigned it to the default return variable ''ans''. Alternatively, the following will **assign** or **set** the value of the second component of v to another number. | ||
| + | |||
| + | <code> | ||
| + | >> v(2) = 2.7 | ||
| + | |||
| + | v = | ||
| + | |||
| + | 4.3000 | ||
| + | 2.7000 | ||
| + | 0.1000 | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== The transpose operator ' (apostrophe) ===== | ||
| Note that last method. In Matlab, the apostrophe '' ' '' stands for the **transpose**. | Note that last method. In Matlab, the apostrophe '' ' '' stands for the **transpose**. | ||
| Line 73: | Line 120: | ||
| </code> | </code> | ||
| + | ===== Constructing vectors with the colon operator : ===== | ||
| + | |||
| + | The Matlab **colon** operator : is used in a number of ways. Here we'll see how it can be used to create vectors. The most straightforward of these is the syntax ''m:n'', which creates a row vector of the integers from ''m'' to ''n''. E.g. | ||
| + | |||
| + | <code> | ||
| + | >> 1:10 | ||
| + | |||
| + | ans = | ||
| + | |||
| + | 1 2 3 4 5 6 7 8 9 10 | ||
| + | |||
| + | >> x = 4:7 | ||
| + | |||
| + | x = | ||
| + | |||
| + | 4 5 6 7 | ||
| + | |||
| + | </code> | ||
| + | |||
| + | You can also specify a **step** or **increment** between the elements using the syntax ''m:step:n''. For example, ''5:2:17'' will produce a vector of odd integers between 5 and 17. | ||
| + | |||
| + | <code> | ||
| + | >> x = 5:2:17 | ||
| + | |||
| + | x = | ||
| + | |||
| + | 5 7 9 11 13 15 17 | ||
| + | </code> | ||
| + | |||
| + | Lastly, the colon operator works with nonintegers, too. E.g. | ||
| + | |||
| + | <code> | ||
| + | >> x = 0:0.1:0.7 | ||
| + | |||
| + | x = | ||
| + | |||
| + | 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | ===== Supplemental material ===== | ||
| + | |||
| + | [[https://www.youtube.com/watch?v=zXP_pr7np-o | ' (apostrophe), Frank Zappa (the song)]] | ||
| + | |||
| + | |||
| + | [[https://www.youtube.com/watch?v=kQDp2425WQ0&list=PL8WvZFiJpAr29HFJkRcE4NvWCeYy3ytte | ' (apostrophe), Frank Zappa (full album) ]] | ||