Tải bản đầy đủ (.ppt) (36 trang)

introduction to matlab ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.22 MB, 36 trang )

Introduction to MATLAB
MATLAB in Science, Engineering, and
Mathematics Instruction
John Sebeson
DeVry University
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
What is MATLAB?

MATLAB stands for MATrix LABoratory.

MATLAB is a high-performance language for
technical computing.

Math and computation

Algorithm development (optimized for DSP)

Data acquisition

Modeling, simulation, and prototyping

Data analysis, exploration, and visualization

Scientific and engineering graphics

Application development, including graphical
user interface building
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Why Learn and Use MATLAB?



Heavily used in EET/CET courses with DSP
content (CET311, EET350, EET453)

Extensive built-in commands for scientific
and engineering mathematics

Easy way to generate class demonstrations
and test examples

Simple and intuitive programming for more
complex problems

Standard and widely-used computational
environment with many features,
extensions, and links to other software.
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB in DSP Product
Development
Develop and
Test Algorithms
in MATLAB
SIMULINK
Simulation
Code
Composer
DSP
Processor
Platform

MATLAB + PC = DSP Processor!! (just less efficient)
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Why Learn MATLAB (and DSP)?

Digital Signal Processing (DSP) is the
dominant technology today, and into the
future, for small-signal electronic systems
(i.e., just about everything)

MATLAB has become one of the standard
design environments for DSP engineering

Our students need to be literate and skilled
in this environment: knowledgeable in both
DSP and MATLAB
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
How Can I Learn MATLAB?

Keep a copy of this presentation for
reference (available on my Web
Page)

Get MATLAB loaded on your PC

Read the “Getting Started” Users
Guide at the MathWorks web site

Study some of the built-in help files

and demos

Dive right in and use it!
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
This Presentation

The MATLAB System

The basics of MATLAB computation

The basics of MATLAB graphing

The basics of MATLAB programming

Various course examples

Mathematics

Electronics

Physics

Signal Processing(*)
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
The MATLAB System

Development Environment.


MATLAB desktop

Editor and debugger for MATLAB programs (“m-files”)

Browsers for help, built-in and on-line documentation

Extensive demos

The MATLAB Mathematical Function Library.

Elementary functions, like sum, sine, cosine, and complex arithmetic

More sophisticated functions like matrix inverse, matrix eigenvalues, Bessel
functions, and fast Fourier transforms.

“Toolboxes” for special application areas such as Signal Processing

The MATLAB Language.

“Programming in the small" to rapidly create quick and dirty throw-away
programs, or

“Programming in the large" to create large and complex application programs.

Graphics.

2D and 3D plots

Editing and annotation features


The MATLAB Application Program Interface (API).

A library that allows you to write C and Fortran programs that interact with
MATLAB.
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB Development Environment
(Workspace)
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB “Help” Utilities

MATLAB is so rich that ‘help’ is essential

Command name and syntax

Command input/output parameters

Usage examples

Help command

help command_name

help [partial_name] tab

Help documents

Demos
January 18, 2005 J. M. Sebeson - DeVry Uni

versity © 2005
MATLAB Function Library
(A Subset)
matlab\general - General purpose commands.
matlab\ops - Operators and special characters.
matlab\lang - Programming language constructs.
matlab\elmat - Elementary matrices and matrix manipulation.
matlab\elfun - Elementary math functions.
matlab\specfun - Specialized math functions.
matlab\matfun - Matrix functions - numerical linear algebra.
matlab\datafun - Data analysis and Fourier transforms.
matlab\polyfun - Interpolation and polynomials.
matlab\funfun - Function functions and ODE solvers.
matlab\sparfun - Sparse matrices.
matlab\scribe - Annotation and Plot Editing.
matlab\graph2d - Two dimensional graphs.
matlab\graph3d - Three dimensional graphs.
matlab\specgraph - Specialized graphs.
matlab\graphics - Handle Graphics.
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Some Elementary Functions
Exponential.
exp - Exponential.
expm1 - Compute exp(x)-1 accurately.
log - Natural logarithm.
log1p - Compute log(1+x) accurately.
log10 - Common (base 10) logarithm.
log2 - Base 2 logarithm and dissect floating point number.
pow2 - Base 2 power and scale floating point number.

realpow - Power that will error out on complex result.
reallog - Natural logarithm of real number.
realsqrt - Square root of number greater than or equal to zero.
sqrt - Square root.
nthroot - Real n-th root of real numbers.
nextpow2 - Next higher power of 2.
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Some Specialized Functions
Number theoretic functions.
factor - Prime factors.
isprime - True for prime numbers.
primes - Generate list of prime numbers.
gcd - Greatest common divisor.
lcm - Least common multiple.
rat - Rational approximation.
rats - Rational output.
perms - All possible permutations.
nchoosek - All combinations of N elements taken K at a time.
factorial - Factorial function.
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
The MATLAB Language
(M-file example)
function one_period(amp,freq,phase)
% ONE_PERIOD(AMP,FREQ,PHASE)
% This function plots one period of a sine wave with a given amplitude,
% frequency (in Hz), and phase ( in degrees).
T=1000/freq; % Compute the period in ms
t=0:T/100:T; % Define a 100 point ms time vector 1 period long

y=amp*sin(2*pi*t/T+phase*pi/180); % One period of the sine function
plot(t,y) % Plot the result and format the axes and title
xlabel('milliseconds')
ylabel('amplitude')
title(['One Period of a ',num2str(freq),' Hz Sinewave with
',num2str(phase), ' Degree phase'])
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB Graphics:
2D Functions (Physics Example)
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB Graphics:
2D Functions (Physics Example)
0 1 2 3 4 5 6 7 8 9 10
0
500
1000
1500
2000
2500
3000
3500
wavelength microns
kilowatts/sq.meter-micron
Planck Radiation Law
3000 K
2700 K
2500 K
January 18, 2005 J. M. Sebeson - DeVry Uni

versity © 2005
MATLAB Graphics:
3D Functions (DSP Example)
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Basic MATLAB Computation:
Representation of Numbers and Variables

MATLAB operates on n row by m column
matrices:

A n x m quantity is an array

A 1 x m or a n x 1 quantity is a vector
[8 1 6]

A 1 x 1 quantity is a scalar
[8]
[8 1 6
3 5 7
4 9 2]
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Basic MATLAB Computation:
Basic Operations

Array manipulation (Magic Square
example)

Sum, diag, transpose, colon operator,

indexing

Array, vector, and scalar operators

Matrix and vector addition and
multiplication

Element-by-element operations

Variable statements and definitions
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB Plotting and Graphics

Rich set of commands for 2D and 3D
plotting of functions

Command formatting and editing

GUI formatting and editing

Image display capabilities

Animation capabilities

Simple “copy and paste” for
publishing generated figures
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
MATLAB Plotting

Basic Commands

plot – x,y line plots

stem – n,y discrete plots (standard
representation of digital signals)

bar – vertical bar plots

plot3 – 3D x,y,z line plots

mesh, surf, etc. – 3D surface plots

show_img – display matrix as an image

hold – hold current figure for multiple line plots

subplot – put multiple plots in one figure frame

Etc, etc. - See MATLAB help documentation
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Basic Plotting - Examples

Plot of sin(x) function

Stem of sin(x) function

Bar of sin(x) function


Several sine functions with “hold”

Several sine functions with “subplot”

2D plot of sinc(x)

3D plot of sinc(x) [“plot_sinc” m-file]

GUI editing

View by rotation

Animation [“brownian_demo” m-file]
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Basic MATLAB Programming

Scripts

String of MATLAB commands

Stored as m-file (*.m)

Use variables from command line

Variables have names consistent with script variable names

Used for “quick and dirty” programs

Example: “dydx_script”


Functions

String of MATLAB commands

Stored as m-file (*.m)

Use variables as function parameters

No restriction on parameter names

Can return variable results

Used for general purpose programs

Example: “yy=dydx(x,y)
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Structure of m-file Functions:
Examples

“one_period”

Use of “num2str” for variable formatting

“sumofsines”

Use of parameter-controlled data input
loops


“fft_plot”

Use of MATLAB functions as subroutines

Use of “nargin” test and branch
January 18, 2005 J. M. Sebeson - DeVry Uni
versity © 2005
Mathematics Example:
Polynomial Algebra (Convolution Operator)

Polynomial products and factoring:
82026218)445)(23(
2345232
+++++=+++++ xxxxxxxxxx
>> p1=[1,3,2];
>> p2=[1,5,4,4];
>> pc=conv(p1,p2)
pc =
1 8 21 26 20 8
>> deconv(pc,p2)
ans =
1 3 2
>> deconv(pc,p1)
ans =
1 5 4 4

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×