Beruflich Dokumente
Kultur Dokumente
Objetivo
O objetivo dessa aula apresentar comandos para computao simblica.
Variveis Simblicas
Os objetos simblicos podem ser variveis simblicas, nmeros simblicos, expresses simblicas ou matrizes simblicas. Para declarar x e y como variveis simblicas, o comando syms utilizado. Por exemplo,
>> syms x y
Assim,
>> x+y
ans =
x + y
>> x+x
ans =
2*x
Os nmeros podem ser convertidos em objetos simblicos com o comando sym.
Por exemplo:
>> a=sym(`2`)
a =
2
>> sqrt(2)
ans =
1.4142
>> sqrt(a)
ans =
2^(1/2)
O comando double fornece o valor de um nmero simblico com dupla preciso.
No exemplo anterior:
>> double(sqrt(a))
ans =
1.4142
Exemplo: operaes com fraes
>> a=sym(`3`);
>> b=sym(`4`);
>> c=sym(`5`);
>> x=a/b
x =
3/4
>> y=b/c
y =
4/5
>> x+y
ans =
31/20
>> double(x+y)
ans =
1.5500
Exemplo: a funo P (x) = ax2 + bx + c pode ser criada com os comandos
2
Aula 4: Introduo ao MATLAB Parte IV
>> syms a b c x;
>> f=a*x^2+b*x+c
f =
a*x^2 + b*x + c
Para atribuir valores as variveis simblicas a, b e c, o comando subs utilizado.
Assim,
>> a=1;
>> b=2;
>> c=3;
>> subs(f)
ans =
x^2 + 2*x + 3
>> f
f =
x^2 + 2*x + 3
>> subs(f,x,1)
ans =
a + b + c
Grficos de Funes
Grficos de funes podem ser gerados de maneira mais simples utilizando computao simblica. Alguns exemplos:
Para gerar o grfico da funo t [0, 2], f (t) = et cos(t) + sen(t), os comandos
utilizados so
>>
>>
>>
>>
>>
>>
>>
syms t
f=exp(-t)*cos(t)+sin(t);
figure(1)
ezplot(f,[0 2*pi])
xlabel(`t`)
ylabel(`y`)
title(`Grfico da funo f(t)=e^{-t}cos(t)+sen(t)`)
O grfico da funo p [0; 4], r(p) = (cos(p), sen(p), 10p) pode ser gerado com
os comandos
3
Aula 4: Introduo ao MATLAB Parte IV
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
syms p
r1=cos(p);
r2=sin(p);
r3=10*p;
figure(2) ;
ezplot3(r1,r2,r3,[0 4*pi])
xlabel(`r_1`)
ylabel(`r_2`)
zlabel(`r_3`)
title(`Grfico da funo r(p)=(cos(p),sen(p),10p)`)
O grfico da funo (x, y) [5, 5] [4; 4], g(x, y) = x2 + 2y 2 pode ser gerado
com os comandos
>>
>>
>>
>>
>>
>>
>>
>>
syms x y
g=x^2+2*y^2;
figure(3)
ezsurf(g,[-5 5 -4 4])
xlabel(`x`)
ylabel(`y`)
zlabel(`z`)
title(`Grfico da funo g(x,y)=x^2+2y^2`)
>> syms x
>> p=(x-1)*(x-2)*(x-3);
>> expand(p)
ans =
x^3-6*x^2+11*x-6
4
Aula 4: Introduo ao MATLAB Parte IV
>> syms x y
>> expand(cos(x+y))
ans =
cos(x)*cos(y)-sin(x)*sin(y)
O comando factor(expressao) serve para obter fatores primos de um nmero
inteiro e a forma fatorada de polinmios.
Exemplo 1:
>> factor(15)
ans =
3 5
Exemplo 2:
>> syms x
>> p=x^3-6*x^2+11*x-6;
>> factor(p)
ans =
(x-1)*(x-2)*(x-3)
O comando simplify(expressao) utilizada para simplificar expresses simblicas envolvendo polinmios, funes do tipo exponencial e logaritmo, funes
trigonomtricas, entre outras.
Exemplo: simplifique a expresso
y=
x2 1
.
x4 1
>> y=(x^2-1)/(x^4-1);
>> simplify(y)
ans =
1/(x^2+1)
>> pretty(ans)
1
-----2
x + 1
5
Aula 4: Introduo ao MATLAB Parte IV
Limites
>> syms x y t a
>> limit(sin(t)/t,t,0)
ans =
1
>> limit(x^2,x,1,`right`) % Limite lateral direito
ans =
1
>> limit(x^2,x,1,`left`) % Limite lateral esquerdo
ans =
1
>> limit(1/y,y,inf) % Limite quando t tende a infinito
ans =
0
Derivadas
A derivada de uma funo pode ser calculada com os seguintes comandos
diff(f) que calcula a derivada de uma expresso simblica f ;
diff(f,n) que calcula a derivada de ordem n de uma expresso simblica f.
Exemplo: Considere as funes f (x) = x2 , g(x) = xcos(x) e h(x) = x3 3. Assim:
>> syms x
>> f=x^2;
>> g=x*cos(x);
>> h=x^3;
>> diff(f)
ans =
2*x
6
Aula 4: Introduo ao MATLAB Parte IV
>> diff(g)
ans =
cos(x)-x*sin(x)
>> diff(h,2)
ans =
6*x
Integrais
O MATLAB possui os seguintes comandos para computao de integrais:
int(f) que calcula a integral indefinida da expresso simblica f;
int(f,v) que calcula a integral indefinida da expresso simblica f com relao
varivel v;
int(f,a,b) que calcula a integral definida da expresso simblica f no intervalo
(a,b) (obs: os limites de integrao tambm podem conter variveis simblicas);
int(f,v,a,b) que calcula a integral definida da expresso simblica f com relao varivel v e no intervalo (a,b);
Por exemplo, considere as funes f (x) = x2 , g(x) = xex e h(x, y) = x + xy. Assim:
>>
>>
>>
>>
syms x y
f=x^2;
g=x*exp(x);
h=x+x*y;
f (x)dx
>> int(f)
ans =
1/3*x^3
R1
0
f (x)dx
>> int(f,0,1)
ans =
1/3
g(x)dx
7
>> int(g)
ans =
x*exp(x)-exp(x)
R1
0
h(x, y)dx
>> int(h,x,0,1)
ans =
1/2+1/2*y
R2R1
0
h(x, y)dxdy
>> int(int(h,x,0,1),y,0,2)
ans =
2
Exerccios Propostos
cos(x)
+ x3 1,
x2
x [0, 5]
x2
y
,
+ y2 + 1
x2
x
cos(x)
x2 + 1
cos(x) + 2
8
Aula 4: Introduo ao MATLAB Parte IV
g(x, y)dxdy .
0
9
Aula 4: Introduo ao MATLAB Parte IV