Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 31

MATLAB

Lecture Two (Part II)


Thursday/Friday,
3 - 4 July 2003
Chapter 5

Applications
Linear Algebra

 Solving a linear system


5x = 3y - 2z + 10
8y + 4z = 3x +20
2x + 4y - 9z = 9
 Cast in standard matrix form
Ax=b
Linear Equations

A = [5 -3 2; -3 8 4; 2 4 -9];
b = [10; 20; 9];
x=A\b

 Check solution
c = A*x
 c should be equal to b.
Gaussian Elimination

C = [ A b]; % augmented matrix

 row reduced echelon form


Cr = rref(C);
Eigenvalues and
Eigenvectors
 The problem A v =  v
 With pencil-paper, we must
solve for
det (A - ) = 0
then solve the linear equation
 MATLAB way
[V, D] = eig(A)
Matrix Factorizations

 LU decomposition
[L, U] = lu(A);
such that L*U = A, L is a lower
triangular matrix, U is an upper
triangular matrix.
Matrix Factorization

 QR factorization
[Q, R] = qr(A);
such that Q*R = A; Q is
orthogonal matrix and R is
upper triangular matrix.
Matrix factorization

 Singular Value Decomposition


[U, D, V] = svd(A);
such that UDV = A, where U and
V are orthogonal and D is
diagonal matrix.
Sparse Matrix

 See
help sparfun
for detail
Curve Fitting

 Polynomial curve fitting


a=polyfit(x,y,n)
do a least-square fit with
polynomial of degree n. x and y
are data vectors, and a is
coefficients of the polynomial,
a = [an, an-1, …, a1, a0]
Curve Fitting

 y = polyval(a, x)
 compute the value of
polynomial at value x
y = a(1) xn + a(2) xn-1 + …
+ a(n) x + a(n+1)
 x can be a vector
Example-1:
Straight-line fit:
 Problem: Fit the set of data,
and make a plot of it.

 Step-1: find the coefficients


 Step-2: Evaluate y at finer scale
 Step-3: Plot and see
Interpolation

 Find a curve that pass through


all the points
ynew = interp1(x,y,xnew, method)
 method is a string. Possible

choices are 'nearest', 'linear',


'cubic', or 'spline'.
Data Analysis and
Statistics
 mean average value
 median half way
 std standard deviation
 max largest value
 min smallest value
 sum sum total
 prod product
Numerical Integration

 Quad Adaptive Simpson's rule


 Quad8 Adaptive Newton-Cotes

Use
quad('your_func', a, b);
or quad('your_func',a, b, opt…)
Ordinary Differential
Equations
 General first-order ODE
dx/dt = f(x, t)
where x and f are vectors
 MATLAB ODE solvers
ode23 2nd/3rd Runge-
Kutta
ode45 4/5th Runge-Kutta
Examples of ODE

Solve the first order differential


equation
dx/dt = x + t
with the initial condition x(0)=0.
dx/dt = x + t, Example

function xdot = simpode(t,x)


% SIMPODE: computes
% xdot = x + t.
xdot = x + t;
dx/dt = x + t example

tspan = [0 2]; x0;


[t, x] = ode23('simpode', tspan, x0);

plot(t, x)
xlabel('t'), ylabel('x')
Second Order Equations

 Nonlinear pendulum
d2 /dt2 + 2 sin = 0
 Convert into set of first-order
ODE with z1 = , z2 = d/dt,
dz1/dt = z2,
dz2/dt = - 2 sin(z1)
Pendulum Function File

Function zdot = pend(t, z)


%Inputs : t = time
% z = [z(1); z(2)]
%Outputs: zdot = [z(2); -w^2 sin (z1)]
wsq = 1.56; % omega value
zdot = [z(2); - wsq*sin(z(1))];
Nonlinear Algebraic
Equations
 Finding zeros of equation
f(x) = 0
 MATLAB function
x_sol = fzero('your_func', x0, tol,
trace);
where tol and trace are optional
arguments
Examples of Algebraic
Equations
 Solve transcendental equation
sin x = exp(x) - 5

 Define function
f(x) = sin(x) - exp(x) + 5
Chapter 6

Graphics
Simple Plotting

 plot(x,y,'r')
 plot(x,y,':', x2,y2, '+')
 plot(x,y,'b--')

 See Table on Chapter 6 for style


options.
Other Plotting
Commands
 xlabel, ylabel labels on axis
 titletitle text
 texttext in graphics
 legend legend
 axis axis limits/scale
 gtext text with local
 located by mouse
Specialized 2D Plots

 semilogx log x vs y
 semilogy x vs log y
 loglog log x vs log y
 polar polar plot
 bar bar chart
 hist histogram
 pie pie plot
3D Plots

 plot3(x, y, z, 'style-option')

 Example:
t=linspace(0, 6*pi, 100);
x=cos(t); y=sin(t); z = t;
plot3(x,y,z)
Advanced Features

 "Handle graphics" gives a better


control of graphic output. It is a
lower level graphics.
Chapter 8, What Else is
There?
 Symbolic Math and other
Toolboxes
 External Interface: Mex-files
 Graphics User Interface

You might also like