introduction to matlab. what is matlab? matlab is basically a high level language which has many...

31
Introduction to Matlab

Upload: phoebe-lynch

Post on 04-Jan-2016

231 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Introduction to Matlab

Page 2: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

What is Matlab?Matlab is basically a high level language

which has many specialized toolboxes for making things easier for us.

How high?

Assembly

High Level Languages such as

C, Pascal etc.

Matlab

Page 3: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Matlab Screen Command Window

type commands

Current Directory View folders and m-files

Workspace View program variables Double click on a variable to see it in the Array Editor

Command History view past commands

Page 4: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

VariablesNo need for types. i.e.,

All variables are created with double precision unless specified and they are matrices.

After these statements, the variables are 1x1 matrices with double precision

int a;double b;float c;

Example:>>x=5;>>x1=2;

Page 5: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Sym, syms, and vpaSymCreate the symbolic variablesEx:

x = sym('x'); y = sym('y','positive');

SymsShortcut for creating symbolic variables and

functionsEx:

syms x y syms x y real

*SYM and SYMS are essentially the same; SYMS is often used in the command form, while SYM is often used in the function form.

Page 6: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

VpaVariable-precision arithmeticEx:

>> vpa(pi) ans = 3.1415926535897932384626433832795 >> vpa(pi,4) ans = 3.142

Page 7: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Exponential and LogarithmicExponential

exp(x) sqrt(x)Ex:

>> y=exp(x)>> y=sqrt(x)

Logarithmiclog(x) natural logarithm lnlog10(x)Ex:

>> log10(x)= log(x) / log(10)log2(x)Ex:

>> log2(x)=  log(x) / log(2)

Page 8: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

ceil, and floorceil(x) round to nearest integer towards

+Ex:

ceil(3.2)ans = 4

floor(x) round to nearest integer towards –

Ex:>> floor(3.2)ans = 3

Page 9: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Round and absround(x) round to nearest integerEx:

>>round(2.4)ans= 2>>round(2.6)ans= 3

abs(x) absolute value Ex:

>>abs(-5)ans= 5

Page 10: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Trigonometric and their inverse

cos(x) acos(x) sin(x) asin(x) tan(x) atan(x) cot(x) acot(x) csc(x) acsc(x) sec(x) asec(x)

All trigonometric functions require the use of radians and not degreesdegtoradEx:

>>x=degtorad(45)x = 0.7854>> cos(x)ans = 0.7071

*Inverse of trigonometric returns real values in the interval [0,pi].

Page 11: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Array, Matrixa vector x = [1 2 5 1]

x = 1 2 5 1

a matrix x = [1 2 3; 5 1 4; 3 2 -1]

x = 1 2 3 5 1 4 3 2 -1

transpose y = x’ y = 1

2 5

1

Page 12: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Inverse x = [1 2; 5 1]y=inv(x)y =

-0.1111 0.2222 0.5556 -0.1111

Determinant x = [1 2; 5 1]A=det(x)

A = -9

Page 13: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

t =1:10

t = 1 2 3 4 5 6 7 8 9 10

k =2:-0.5:-1

k = 2 1.5 1 0.5 0 -0.5 -1

B = [1:4; 5:8]

x = 1 2 3 4 5 6 7 8

Page 14: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

zeros(M,N)MxN matrix of zeros

ones(M,N) MxN matrix of ones

rand(M,N) MxN matrix of uniformly distributed random

numbers on (0,1)

x = zeros(1,3)

x =

0 0 0

x = ones(1,3)

x =

1 1 1

x = rand(1,3)

x =

0.9501 0.2311 0.6068

Page 15: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Matrix IndexThe matrix indices begin from 1 (not 0

(as in C)) The matrix indices must be positive

integer

A(-2), A(0)

Error: ??? Subscript indices must either be real positive integers or logicals.

A(4,2)Error: ??? Index exceeds matrix dimensions.

Page 16: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

x = [1 2], y = [4 5], z=[ 0 0]

A = [ x y]

1 2 4 5

B = [x ; y]

1 2

4 5

C = [x y ;z] Error:??? Error using ==> vertcat CAT arguments dimensions are not consistent.

Page 17: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Operators (arithmetic)+ addition- subtraction* multiplication/ division^ power

Page 18: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Given A and B:

Addition

Subtraction

Product Transpose

Page 19: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Operators (Element by Element).*element-by-element multiplication./ element-by-element division.^ element-by-element power

Page 20: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us
Page 21: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

A = [1 2 3; 5 1 4; 3 2 1] A = 1 2 3 5 1 4 3 2 -1

y = A(3 ,:)

y= 3 4 -1

b = x .* y

b= 3 8 -3

c = x . / y

c= 0.33 0.5 -3

d = x .^2

d= 1 4 9

x = A(1,:)

x= 1 2 3

Page 22: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Factor, Expand, and Simplifyfactor(f)

>>syms x>>f=x^3-6*x^2+11*x-6;>>y=factor(f)y=(x-1)*(x-2)*(x-3)

expand>>syms x>> expand((x-1)*(x-2))

ans = x^2 - 3*x + 2

Page 23: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

simplifyAlgebraic simplification

>>syms x>>f1=sin(x)^2 + cos(x)^2 +log(x);>> simplify(f1)ans=1+log(x)

Page 24: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Solve and dsolvesolveSolve equations and systems

>>syms x>>solve(x^2-3*x+2)ans =

12

Page 25: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

>>syms x y>>S = solve('x + y = 1','x - 11*y =

5')S = x: [1x1 sym]y: [1x1 sym]>>S = [S.x S.y]S =[ 4/3, -1/3]

Page 26: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

dsolveOrdinary differential equation

>>dsolve('Dx = -a*x')ans = C2*exp(-a*t)

Page 27: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Differentiation and IntegrationdiffDifferences and approximate derivatives

>> x=[2 5 9 1 3];>> diff(x)ans = 3 4 -8 2>> diff(sym('x^3+2*x^2-x+1'))ans =

3*x^2 + 4*x - 1

Page 28: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

intIntegrate symbolic expression

>>int(sym('x')) ans = x^2/2

Page 29: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

limitCompute limit of symbolic expression

>>syms x>>limit(sin(x)/x)ans=1

Page 30: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Sum of seriesSymsumSum of seriesS= 1+2^2+3^2+…+n^2 =

>>syms k >>symsum(k^2, 1, 10)ans = 385

Page 31: Introduction to Matlab. What is Matlab? Matlab is basically a high level language which has many specialized toolboxes for making things easier for us

Questions?????