Array Operations ENGR 1181 MATLAB 4. Today's Learning Objectives After today’s class, students...
-
Upload
laurence-summers -
Category
Documents
-
view
217 -
download
0
Transcript of Array Operations ENGR 1181 MATLAB 4. Today's Learning Objectives After today’s class, students...
Array OperationsENGR 1181MATLAB 4
Today's Learning Objectives
After today’s class, students will be able to:
• Explain the meaning of element-by-element operations.
• Identify situations where the standard operators in MATLAB (when used with arrays) are reserved for linear algebra, which is not always element-by-element.
• Apply dot operators for the six cases where linear algebra is not element-by-element and therefore dot operators are needed to produce element-by-element calculations.
Scalar Math
For scalar variables a and b :
>> a = 4 ;>> b = 2 ;
MATLAB has scalar math operations:
>> a + b>> a – b>> a * b>> a / b>> a ^ b
Scalar–Vector Addition
Define the vector v and the scalar c :
>> v = [ 10 20 30 40 ] ;>> c = 4 ;Add them:>> v + c>> c + v
ans = 14 24 34 44
Scalar - Vector Multiplication
For the vector v and scalar c :
>> v = [ 10 20 30 40 ] ; >> c = 4 ;
Multiply them:
>> c * v>> v * c
ans = 40 80 120 160
Scalar - Vector Division
>> v = [ 10 20 30 40 ] ;>> c = 4 ;
Divide:
>> v / c
ans = 2.50 5.00 7.50 10.00
Scalar - Vector Division>> v = [ 10 20 30 40 ] ;>> c = 4 ;
Divide:>> c / v
Error using / Matrix dimensions must agree.
>> c ./ v
ans = 0.40 0.20 0.13 0.10
Scalar - Vector Exponents>> v = [ 10 20 30 40 ] ;>> c = 4 ;Exponent:
>> v ^ c
Better:
>> v .^ c
Error using ^ Inputs must be a scalar and a square matrix.To compute elementwise POWER, use POWER (.^) instead.
ans =
10000 160000 810000 2560000
Scalar - Vector Math Summary
For a scalar c and a vector v:
Addition v + c or c + vSubtraction v – c or c – v
Multiplication v * c or c * v or v.* c orc.* v
Division v / c or c./ v or v./ c
Exponent v.^ c or c.^ v
Vector–Vector Addition Define the vector x and the vector y :
>> x = [ 10 20 30 40 ] ;>> y = [ 2 4 6 8 ] ;Add them:>> x + y>> y + x
ans = 12 24 36 48
x and y must be the same length!
Vector - Vector Multiplication
x = [ 10 20 30 40 ]; y = [ 2 4 6 8 ];
Multiply:
>> z = x * y
??? Error using ==> mtimesInner matrix dimensions must agree!!!
Vector - Vector Multiplication
x = [ 10 20 30 40 ] ; y = [ 2 4 6 8 ] ;
Multiply two vectors element-by-element:
>> z = x .* yz = 20 80 180 320
Vector - Vector Divisionx = [ 10 20 30 40 ] ;y = [ 2 4 6 8 ] ;
Divide:
>> x ./ y
ans = 5 5 5 5
Also try
>> y ./ x
ans = 0.20 0.20 0.20 0.20
Vector - Vector Exponents
x = [ 2 2 2 2 ] ;y = [ 2 4 6 8 ] ;
Exponent:
>> x .^ y
Also try:
>> y .^ x
ans = 4 16 64 256
ans = 4 16 36 64
Vector - Vector Math Summary
For two vectors x and y :
Addition x + y or y + xSubtraction x – y or y – x
Multiplication x.* y ory.* x
Division x./ y or y./ x
Exponent x.^ y or y.^ xAlways use the dot operator for Multiply, Divide, and Exponent
Example 1Calculate y = 4x2 for x = 1, 2, 3 and 4
First define x
>> x = [ 1 2 3 4 ];
Then calculate y
>> y Which '.' is required below?
y = 4.*x.^2
y = 4*x.^2y = 4 16 36 64
Required
y = 4 16 36 64
Example 2Calculate y = (4a2 + a)/(2+a) for a = 1, 2, 3 and 4
First define a :
>> a = [ 1 2 3 4 ]
a = 1 2 3 4
>> y = ((4*a.^2)+a)./(2+a)
y = 1.6667 4.5000 7.8000 11.3333
Built - In Vector FunctionsMATLAB has built-in functions for vectorsWhen v is a vector:
max(v) Returns the largest element in v
min(v) Returns the smallest element in v
mean(v) Returns the average value of the elements in v
sum(v) Returns the sum of the elements of v
length(v) Returns the number of elements in v
sort(v) Sorts the elements of v
Important Takeaways
Know when to use the dot operator for Multiply, Divide, and Exponent.
Always use a dot operator when appropriate and understand what you are trying to accomplish when you use it.
Vector functions operate on all of the numbers in a vector or matrix.
Preview of Next Class Input and Output• Inputting data into and out of
programs• GPA calculator example
With and without use of vectors
• Inputting to a script file• Output to command window
Review today’s Quiz #04
Open the in-class activity from the EEIC website and we will go through it together.
Then, start working on MAT-04 homework.
Before next class, you will read more detail about script files including global variables. There is also information on input and output (I/O) commands in MATLAB.
What’s Next?