creating scalars, vectors, matrices ex1 & 2. dot product & cross product ex3. plotting...
TRANSCRIPT
Creating scalars, vectors, matricesEx1 & 2. Dot Product & Cross Product
Ex3. Plotting Graphs
Ex4. Conversion Table
Ex5. Plotting functions
Finishing Ex4.
Ex6 and Ex7. Use of matrices in real world
Creating Arrays
11
1. Creating scalars
Assign a value to a variable (i.e. Hardcode)pressure = 10; %pascals
temperature = 298; %kelvin
Store the result of an equationpressure = density*R*temperature;
Save the return-value of the input() commandage = input(‘Enter your age: ’);
22
2. Creating vectors
There are LOTS of ways to create vectors, based on three simple ideas:
The values in the vector are pre-defined. For example:
[ 2 -5 4.4 -96.6]
33
2. Creating vectors
There are LOTS of ways to create vectors, based on three simple ideas:
The values in the vector are pre-defined. For example:
[ 2 -5 4.4 -96.6]
The values have a pattern (addition only). For example:
[10, 20, 30 ,…100] or [-10 -8 -6 -4 -2 0]
44
2. Creating vectors
There are LOTS of ways to create vectors, based on three simple ideas:
The values in the vector are pre-defined. For example:
[ 2 -5 4.4 -96.6]
The values have a pattern (addition only). For example:
[10, 20, 30 ,…100] or [-10 -8 -6 -4 -2 0]
Finally, the total amount of values is known. For example:
25 points evenly spaced from 0 to 100.
55
2.1. Pre-defined values
66
77
2.1. Pre-defined values, cont.
88
2.1. Pre-defined values, cont.
99
What else are semi-colons used for?
2.1. Pre-defined values, cont.
1010
What else are semi-colons used for?
They create rows AND suppress output!
2.1. Pre-defined values, cont.
1111
What else are semi-colons used for?
They create rows AND suppress output!
The apostrophe allows to transpose a vector. Rows become columns. Columns become rows.
2.1. Pre-defined values, cont.
1212
What else are semi-colons used for?
They create rows AND suppress output!
The apostrophe allows to transpose a vector. Rows become columns. Columns become rows.
What dimension will speeds have? _______________________________
2.1. Pre-defined values, cont.
Ex1. Dot product
Remember the DOT product? (maybe/maybe not)
13
Credits to: http://www.itee.uq.edu.au/~cogs2010/cmc/chapters/Hebbian/ten5.gif
The DOT product…
Ex1. Dot product
Remember the DOT product? (maybe/maybe not)
14
Credits to: http://www.itee.uq.edu.au/~cogs2010/cmc/chapters/Hebbian/ten5.gif
In Matlab
The DOT product…
* * * * * *
Ex2. Cross product
How about the CROSS product? (maybe/maybe not)
15
Source: http://www.math.umn.edu/~nykamp/m2374/readings/crossprodex/
Source: Wikipedia
The CROSS product…
Cross product, cont.
16
In Matlab
Ex3. Plotting graphs
In order to plot, Matlab needs data points:
17
x y
-7
-2
3
8
4
-7
3
-1
x
y
Ex3. Plotting graphs
In order to plot, Matlab needs data points:
18
x y
-7
-2
3
8
4
-7
3
-1
x
y
Ex3. Plotting graphs
In order to plot, Matlab needs data points:
19
x y
-7
-2
3
8
4
-7
3
-1
x
y Matlab connects the dots!
Ex3. Plotting graphs
In order to plot, Matlab needs data points:
Well… x is an array of data points x = [-7 -2 3 8] y is another array of data points y = [4 -7 3 -1] …for the curious ones, to plot: plot(x,y)
20
x y
-7
-2
3
8
4
-7
3
-1
x
y
2.2. Patterns (addition only)
2121
The range operator
Numbers are separated by +1
2222
The range operator
Numbers are separated by +1An additional value in the middle specifies the increment.
+3 +3 +3 +3 +3 +3 +3 +3 >32
2.2. Patterns, cont.
2323
The range operator
Numbers are separated by +1An additional value in the middle specifies the increment.
+3 +3 +3 +3 +3 +3 +3 +3 >32
-2.5 -2.5 -2.5 < 3
Go reverse by using a negative increment! CAUTION: the beginning number must be > the end number. Here 10>3. (This also shows it works with decimals.)
2.2. Patterns, cont.
2424
The range operator
Numbers are separated by +1An additional value in the middle specifies the increment.
+3 +3 +3 +3 +3 +3 +3 +3 >32
-2.5 -2.5 -2.5 < 3
To use the apostrophe and create a column vector, absolutely place brackets first!
… else….
2.2. Patterns, cont.
2525
The range operator
Numbers are separated by +1An additional value in the middle specifies the increment.
+3 +3 +3 +3 +3 +3 +3 +3 >32
-2.5 -2.5 -2.5 < 3
To use the apostrophe and create a column vector, absolutely place brackets first!
… else….
Only the scalar -10 gets transposed: but a scalar transposed remains the same scalar!
2.2. Patterns, cont.
Ex4. Conversion table
% create celsius data points
celsius = 0:10:100; %0 to 100 by +10 increment
% calculate Fahrenheit
fahrenheit = celsius * 9/5 + 32;
% show table
<code not shown>
26
2.3. Specific amount of data points
A built-in function called linspace() spaces elements linearly in an array. What does this mean?
The distance between each consecutive data point is equal.
There are two ways to use it, as Matlab ‘hints’ when the command typed is unfinished:
2727
Either provide 2 arguments, or provide 3 arguments.
2.3. linspace(), cont.
2828
The third argument indicates the ________________________ .
2929
The third argument indicates the ________________________ .
When Matlab cannot display all the elements on one line, it simply indicates the column-number per line.
2.3. linspace(), cont.
3030
The third argument indicates the ________________________ .
When Matlab cannot display all the elements on one line, it simply indicates the column-number per line.
2.3. linspace(), cont.
31
?????? %no third argument
Omit the third argument uses a default of _______ data points!
2.3. linspace(), cont.
Ex5. Plotting graphs
Suppose a function that relates each x to its y-coordinate is known: y = f(x) = x2. Plot y vs. x.
32
Ex5. Plotting graphs
Suppose a function that relates each x to its y-coordinate is known: y = f(x) = x2. Plot y vs. x.
In this case, it is tedious work to hard-code each x and y array. Are 4 data-points sufficient, like in example 3?
33
x
y x y
-10
-5
5
10
100
25
25
100
Ex5. Plotting f(x) = x^2, cont.
Remember: which built-in function influences the number of data-points in an array?____________________
In this case:%array x of 20 data points
%calculate array of y’s.
%plot command
And the result is…34
Ex5. Plotting f(x) = x^2, cont.
Remember: which built-in function influences the number of data-points in an array?____________________
In this case:%array x of 20 data points
x = linspace(-10,10,20);
%calculate array of y’s.
y = x.^2; %(The dot will be explained next time…)
%plot command
plot(x,y)
And the result is…35
Ex5. Plotting f(x) = x^2, cont.
36
Does this represent f(x) = x2 ?
Yes Or No
Yes, but it took 20 points!!
Ex5. Plotting f(x) = x^2, cont.
The use of linspace() in this example is crucial! Why do all 20 data point need to be linearly spaced?
What would happen otherwise?
37
Still 20 points!!
.. but the first 19 are before -5,
.. and the last one is 10.
Not f(x) = x2..
3. Creating Matrices
Simply a combination of all symbols introduced with vectors! Square brackets [ ] Spaces or commas , , Semi-colons ; Apostrophes ’
3838
3.1. Matrices: hard-coding
3939
Use semi-colons to create new rows.
ONLY rectangular matrices:The number of columns MUST match for each row, and vice-versa.
4040
Use semi-colons to create new rows.
ONLY rectangular matrices:The number of columns MUST match for each row, and vice-versa.
Use previous matrices to actually create new matrices.
This example transposes the matrix variable a.
3.2. Reusing Previous matrices
4141
Use semi-colons to create new rows.
ONLY rectangular matrices:The number of columns MUST match for each row, and vice-versa.
You can use previous matrices to actually create new matrices.
This example transposes the variable a.
Combine any previous methods, AS LONG AS the matrix remains rectangular.
3.3. Using Colons
3.4. “Concatenating”
4242
Use semi-colons to create new rows.
ONLY rectangular matrices:The number of columns MUST match for each row, and vice-versa.
You can use previous matrices to actually create new matrices.
This example transposes the variable a.
You can combine any previous methods, AS LONG AS the matrix remains rectangular.
Finally, create arrays by combining previous variables!
This is called CONCATENATING.
4343
Use semi-colons to create new rows.
ONLY rectangular matrices:The number of columns MUST match for each row, and vice-versa.
You can use previous matrices to actually create new matrices.
This example transposes the variable a.
You can combine any previous methods, AS LONG AS the matrix remains rectangular.
When the array becomes too big, the numbers no longer display.
3.5. Using the command window
Ex4. Conversion table, end!
% create celsius data points
celsius = 0:10:100; %0 to 100 by +10 increment
% calculate Fahrenheit
fahrenheit = celsius * 9/5 + 32;
% show table
[celsius’ fahrenheit’]
44
Ex6. Sling Thermometer
45
A method to read relative-humidity.
Ex7. Images
46
Each row and column have a pixel value stored.
Wrapping Up Know by heart each way to create a row/column vector.
Hard-code each data point Separate each data-point by comma or spaces for row vector Separate each data-point by semicolon for a column vector
Shortcut when there is an addition pattern (colon) Shortcut when a specific amount of data points are linearly
spaced (linspace())
47
Wrapping Up Know by heart each way to create a row/column vector.
Hard-code each data point Separate each data-point by comma or spaces for row vector Separate each data-point by semicolon for a column vector
Shortcut when there is an addition pattern (colon) Shortcut when a specific amount of data points are linearly
spaced (linspace())
Realize that creating matrices only requires combining all of the above, while respecting one crucial rule: A matrix must remain rectangular at all times (i.e. no holes within
the matrix)
48
Wrapping Up Know by heart each way to create a row/column vector.
Hard-code each data point Separate each data-point by comma or spaces for row vector Separate each data-point by semicolon for a column vector
Shortcut when there is an addition pattern (colon) Shortcut when a specific amount of data points are linearly
spaced (linspace())
Realize that creating matrices only requires combining all of the above, while respecting one crucial rule: A matrix must remain rectangular at all times (i.e. no holes within
the matrix)
What does the apostrophe do?
49
Wrapping Up Know by heart each way to create a row/column vector.
Hard-code each data point Separate each data-point by comma or spaces for row vector Separate each data-point by semicolon for a column vector
Shortcut when there is an addition pattern (colon) Shortcut when a specific amount of data points are linearly spaced
(linspace())
Realize that creating matrices only requires combining all of the above, while respecting one crucial rule: A matrix must remain rectangular at all times (i.e. no holes within the
matrix)
What does the apostrophe do? Restate some examples of vector operations and matrix
operations. 50