Você está na página 1de 13

Introduo ao MATLAB

CLCULO SIMBLICO

2010 Nuno Pinho da Silva

Redefinio do Heaviside
Criar directoria mkdir <nome_directoria>
>>mkdir trabSS

Mudar de directoria
Cd <nome_directoria> >>cd trabSS

Verificar definio do escalo heaviside


>> heaviside(0)
2010 Nuno Pinho da Silva 2

Redefinio do Heaviside
Cdigo heaviside.m
function Y = heaviside(X) %HEAVISIDE Step function. % HEAVISIDE(X) is 0 for X < 0, 1 for X > 0, and .5 for X == 0. % HEAVISIDE(X) is not a function in the strict sense. % See also DIRAC. % Copyright 1993-2008 The MathWorks, Inc. % $Revision: 1.1.6.4 $ $Date: 2008/08/20 23:06:20 $ Y = zeros(size(X)); Y(X > 0) = 1; eng = symengine; if strcmp(eng.kind,'maple') Y(X == 0) = nan; else Y(X == 0) = .5; end

PROBLEMA
3

2010 Nuno Pinho da Silva

Redefinio do Heaviside
Redefinir heaviside.m: Entre as vrias definies adopta-se aquela que coerente com o u[n] discreto
function Y = heaviside(X) %HEAVISIDE Step function. % HEAVISIDE(X) is 0 for X < 0, 1 for X > 0, and .5 for X == 0. % HEAVISIDE(X) is not a function in the strict sense. % See also DIRAC. % Copyright 1993-2008 The MathWorks, Inc. % $Revision: 1.1.6.4 $ $Date: 2008/08/20 23:06:20 $ Y = zeros(size(X)); Y(X > 0) = 1; eng = symengine; if strcmp(eng.kind,'maple') Y(X == 0) = nan; else Y(X == 0) = .5; end

Y(X>=0)=1 Comentar as restantes linhas


2010 Nuno Pinho da Silva 4

Clculo Simblico
>> help symbolic Definir variveis simblicas
>>syms t

Definir funes com variveis simblicas


>>u=heaviside(t) >>x=cos(10*t) >>y=sin(2*t)

2010 Nuno Pinho da Silva

Clculo Simblico
Operaes com funes simblicas
>>z=x*y >>expand(z) >>simple(z) >>simplify(z)

Funo inversa
>>finverse(y)

2010 Nuno Pinho da Silva

Clculo Simblico
Exerccio
>>syms v a b c >>solve(a*v^2+b*v+c)

2010 Nuno Pinho da Silva

Clculo Simblico
Funo derivada
>>diff(u)

Funo primitiva
>>int(dirac(t)) >>isequal(u, int(dirac(t)))

Composio de funes (xy)


>>w=compose(x,y)

Substituir variveis simblicas por valores numricos


>>subs(u,t,0)
2010 Nuno Pinho da Silva 8

Clculo Simblico
Exerccio
>>f=cos(10*t+pi*sin(3*t)) Escreva um script para reproduzir a seguinte figura dados valores da varivel independente (e.g., 1000 pontos do intervalo - t ).

2010 Nuno Pinho da Silva

Clculo Simblico

2010 Nuno Pinho da Silva

10

Clculo Simblico
Exerccio
Escreva um script que definida o pulso quadrado. Represente-o como na figura e calcule a sua energia

2010 Nuno Pinho da Silva

11

Clculo Simblico
Soluo
function pqd=pulsoquadrado(range_t,tau,t0,amp) % % pqd=pulsoquadrado(range_t,tau,t0,amp) % % pulso quadrado % % range_t -> vector de valores da variavel independente % syms t td t1 t2 A pq=A*heaviside(t-td-t1)-A*heaviside(t-td-t2) pqd=subs(pq,{t,td,t1,t2,A},{range_t,t0,-tau/2,tau/2,amp}); plot(range_t,pqd) v=axis; axis([v(1) v(2) v(3)-.5 v(4)+.5])

Calcular energia trivial!

2010 Nuno Pinho da Silva

12

Clculo Simblico
Exerccio
Definida um pulso triangular utilizando o pulso quadrado anterior

2010 Nuno Pinho da Silva

13

Você também pode gostar