Matrix Concepts and MATLAB Matrix Computations

(Engineering Analysis and MATLAB 7 - Chapter 5 p 92-100, Chapter 6 p 142-145, Chapter 9 p 247-260,
Chapter 10 276-278)

MATLAB Linear Interpolation (Engineering Analysis and MATLAB 7 - Chapter 11 p. 291-299)


Topics:
1. Matrix concepts - review some old ones and introduce some new ones
2. Introduce solving systems of linear equations using MATLAB matrix computations
3. Concept of interpolation and how it is handled in MATLAB

Notes:

-We have spent the first four weeks developing engineering problem solving methods , building a
foundation of programming concepts, and developing your foundation of MATLAB skills

- I have spoken often about how MATLAB is built for matrix operations but we have mostly used it in
calculations involving scalars (single value 1x1 array) and vectors (1 x n or n x 1 array), both
considered 1 dimensional arrays

Lets review what we have learned about the MATLAB matrices we have been using during our
programming thus far:

Chapters 5, 6, and 8

- User generated arrays:

o X= 4 is a scalar (1 x 1 array)
o Row vector x=[2,4,6,8] Column vector y=[1;2;3;4]
o x(1) returns?
o x = [2,4,6,8;10,12,14,16;18,20,22,24] is a 4x3 matrix



indices are



o What value is x(5) =?
o See example below
>> x=[2,4,6,8;10,12,14,16;18,20,22,24]

>> x(5) %can get a value from a particular location



>> x(5)=100 % can replace a value with another number

o How about in an equation?

>> y= x(5)*500
y =
50000

o Can use this in outputting data as well

> fprintf ('this example should output x(5) %4.3f',x(5))
this example should output x(5) 100.000

Time savers and commands

o Evenly spaced vector time saver B=1:5 or B=[1:5] (colon separator)
o If you want them spaced a certain way time = 0:2:100 gives a vector between 0 and 100
in steps of 2
o
linspace - used if you want a certain amount of elements between 2 numbers

>> r=linspace(0,14,5)

-But when do we use 2 dimensional arrays or matrices? They can store data in rows and columns.
These matrices play an important role in linear algebra and are used in science and engineering to
describe many physical quantities.

Consider an electrical circuit (p 253):

- Based on two basic electrical facts:

Σ voltages around circuit = 0 and V = iR

- And assuming we know the voltage (V) and all of the resistances (R), we can solve for all of the
values of the current by evaluating each loop - we will have 3 equations and 3 unknowns. (See
details p 258)

Can you see the matrix here? How about 3 arrays? We can solve these simultaneously for   using
matrices in various ways.

-Consider a simpler system of equations:

This system of equations can be written as AX=B. Simplify by replacing x with with and z
with

Replacing the coefficients with A and B yields:

can be written in matrix form as:

or in matrix notation as AX=B.

Replacing the numerical coefficients yields:

A = the 3x3 matrix, X = the column vector , and B = the column vector 10,5,1

MATLAB can solve this for and ! We will discuss this in lab!

Chapter 9 Mathematical Operations with Arrays - we need to be familiar with these


These operations between Arrays can be different than standard arithmetic operations . Scalars can be
added, subtracted, multiplied and divided into matrices according to standard operations

>> 5/x
??? Error using ==> mrdivide
Matrix dimensions must agree.

>> x/5

• Matrix addition and subtraction : Add or subtract the corresponding elements of two arrays of
identical size, e.g.,

- Matrix addition is commutative, i.e., A+ B=B+ A

- When scalar is added or subtracted to an array , it is added to or subtracted from each element in
the array

• Array multiplication: Only possible when the # of columns in the first array is equal to # of rows
in second array, e.g., when A*B=AB

- Matrix multiplication is not commutative, i.e., A*B≠B*A

- Resulting matrix has same # of rows as first matrix and same # of columns as second matrix

- When an array is multiplied by a scalar or number (or a 1×1 matrix), each element in the array
is multiplied by that quantity (multiplication of a matrix with a scalar is a commutative
property )

- Two vectors can be multiplied only if both have same # of elements and one is row and the
other column vector; the result is a 1×1 matrix or scalar; can use built-in Matlab function dot
(a, b) to calculate the product of vectors a and b

- Linear algebra rules of array multiplication can be used to write a system of linear equations as
shown below

can be written in matrix form as

or in matrix notation as AX=B

• Array division: More complicated than multiplication

Inverse of matrix:
Matrix B is an inverse of matrix A, if when multiplied, they yield an
identity matrix, i.e., BA=AB=I

- Only applicable to square matrices

- Inverse of A (A-1) in MATLAB is written as A^-1 or inv(A)

- Only square matrices with non- zero determinants have inverses

****Left division (\): When B and X are both column vectors and A an array, where AX=B,
X=A\B

- Left division is used to solve linear equations

Right division (/): When X and D are row vectors and C an array, where XC=D, X=D/C
- Also used to solve linear equations

• Because of the rules of linear algebra and arrays we have to use the “period” to conduct
element-by-element operations:
Addition and subtraction are already element by element.
However, multiplication and division may be both between arrays (discussed earlier) and between
elements.

Arithmetic operators are: a.*b, a./b, a.\b, and a.^b (this can trick you when using scalars)

- Note that the period always precedes the arithmetic operator

- Do NOT have to use the dot (.) before addition and subtraction signs or when multiplying
or diving by a scalar (it will still work though)

- Built-in functions for analyzing arrays: sum, mean, max, min, det, inv, cross, and dot are
also useful .

Example of raising a matrix to a power

>> x^2
??? Error using ==> mpower
Matrix must be square.

>> x.^2

In lab today - will discuss solving simultaneous equations using matrix operations, the
SOLVE Function, and interpolation

Prev Next