Você está na página 1de 17

C alculo simb olico em MATLAB

UNIVERSIDADE DA BEIRA INTERIOR


Departamento de Matem atica

Conte udo
1 Introdu c ao 2 Opera c oes com vari aveis simb olicas 3 Gr acos 4 Limites e s eries 5 Derivadas 6 Integrais e Areas 7 Transformadas 8 Equa c oes Diferenciais 2 3 5 7 9 11 13 15

Cap tulo 1 Introdu c ao


Considere o seguinte problema Na gura seguinte est a representado o jardim do Rui. Os valores est ao em metros. 10

x 2 y 1. Determine a express ao simplicada que permite calcular a area do jardim. 2. Considerando x = 7 e y = 4, calcule a area do jardim. 3. Se x for o dobro de y , qual a area do jardim? 4. Sabendo que a area e 46m2 e que x e o dobro de y , calcule o valor de y . Neste problema os valores de x e de y n ao s ao conhecidos, ent ao para realizarmos os c alculos consideramos x e y vari aveis. No Matlab este tipo de vari aveis chamam-se vari aveis simb olicas. Antes de qualquer opera c ao, onde se tem x, y ou qualquer outra letra como vari avel, e preciso denir essas vari avel, para isso usa-se o comando: >>syms x y Dessa forma estar a a indicar que quaisquer x e y que for colocado nas fun co es e uma vari avel simb olica e n ao um n umero conhecido.

Cap tulo 2 Opera c oes com vari aveis simb olicas


O Matlab realiza todas as opera co es elementares entre express oes simb olicas utilizando a sintaxe comum, como mostra a gura 2.1. Para al em das opera co es elementares por vezes e necess ario indicar explicitamente o que se

Figura 2.1: Opera c oes matem aticas pretende pois, por exemplo, 2x(2x +2) 4(x +1) e equivalente a 4x2 4 mas tamb em e equivalente a 4(x 1)(x +1). Umas vezes e mais conveniente a primeira representa ca o e outras vezes a segunda. Para resolver esta ambiguidade existem os comandos simplify, expand, factor e collect, entre

Figura 2.2: Comandos simplify, expand e factor outros. A gura 2.2 mostra como se utilizam e o resultado. 3

C alculo simb olico em Matlab

Opera c oes com vari aveis simb olicas

Para substituir uma vari avel numa express ao simb olica o Matlab possui o comando subs. A forma de o utilizar e subs(express~ ao,vari avel,valor), por exemplo >>subs(4*x^2-4,x,2) Um problema bastante comum com vari aveis e o seu c alculo atrav es de equa co es. Para este problema existe no Matlab o comando solve. >>solve(x^2-2*x+1) calcula as solu c oes da equa c ao x2 2x + 1 = 0. Exerc cios 1. Factorize o seguinte polin omio x3 13x + 12 2. Num deserto, existem camelos e dromed arios, num total de 63 bossas. O n umero de camelos e igual ao triplo do n umero de dromed arios. Quantos animais de cada esp ecie existem nesse deserto? 3. Quando o Tom e nasceu, o pai tinha 31 anos. H a cinco anos, o pai do Tom e tinha o dobro da idade do lho. Determine a idade actual do pai e do lho? 4. A Ana, o Pedro e o V tor foram colher tangerinas. A Ana colheu tr es vezes mais do que o Pedro, e o V tor colheu mais quatro do que os outros dois em conjunto. No total colheram 212 tangerinas. Quantas colheu cada um?

Cap tulo 3 Gr acos


Aproveitando as capacidades simb olicas e gr acas do matlab existe o comando ezplot. Este comando desenha, de uma forma simples, o gr aco de uma fun c ao y = f (x), por exemplo >>ezplot(sin(3*x)+2*x) apresenta o gr aco da fun ca o f (x) = sin(3x) + 2x no intervalo, por defeito, [2, 2 ]. No gr aco

anterior o eixo das abcissas foi denido automaticamente, mas pode ser introduzidos pelo utilizador da forma: >>ezplot(sin(3*x)+2*x,[1,2]) Podemos tamb em representar fun c oes impl citas, por exemplo o comando >>ezplot(y^2-6*y-x+5) representa a regi ao denida por y 2 6y x + 5 = 0. Todos os comandos para alterar o aspecto do gr aco que existiam para o comando plot, tamb em funcionam para este comando. Para gr acos de supercies a 3 dimens oes o comando e ezsurf. A sua utiliza c ao e semelhante ` a do comando surf, mas mais simples. A instru c ao >>ezsurf(2*x^2-3*y^2-4). Desenha o gr aco da fun c ao z = 2x2 3y 2 4, como mostra a gura. Todos os comandos para alterar o aspecto do gr aco que existiam para o comando surf, tamb em funcionam para este comando.

C alculo simb olico em Matlab

Gr acos

Exerc cios Resolva gracamente os problemas seguintes. 1. Um cavalo e um burro caminhavam juntos, levando no lombo sacos muito pesados, todos com o mesmo peso. Lamentava-se o cavalo da sua pesada carga, quando o burro lhe disse: De que te queixas? Se eu levasse um dos teus sacos a minha carga seria o dobro da tua. E se eu te desse um saco, a tua carga seria igual a ` minha!. Quantos sacos levava cada animal?

2. Um fabricante de cestos ganha 3 euros por cada cesto que fabrica sem defeito e perde 5 euros por cada cesto que fabrica com defeito. Numa semana fabricou 160 cestos e obteve um lucro de 400 euros. Quantos cestos com defeito foram produzidos? 3. Numa experi encia laboratorial vericou-se, durante 240 horas, que a taxa de crescimento de uma col onia de bact erias, t horas ap os o in cio da experi encia, era de: C (t) = 0.0001t3 + 0.02t2 + 0.2t + 0.2 bact erias por hora (0 t 240). Recorrendo ` as capacidades gr acas do Matlab, esboce o gr aco da fun ca o C e recolha os valores que lhe permitem responder, com aproxima co es a `s unidades, a `s quest oes seguintes. (a) Quantas horas tinham decorrido quando se vericou que a taxa de crescimento da col onia era nula? (b) Qual foi a taxa de crescimento m axima? Em que instante se vericou? 4. Num pomar, a quantidade de fruta apanhada depende do n umero de pessoas empregues, n, e do n umero de horas que elas trabalham, t, segundo a f ormula f (n, t) = 4nte0.1n0.2t Encontre gracamente o n umero de pessoas e o tempo gasto de modo que apanhem o m aximo de fruta.

Cap tulo 4 Limites e s eries


Para calcular o limite de uma fun c ao ou sucess ao no MATLAB, o comando que se deve utilizar e limit. A forma mais simples e >>limit(f(x),x,a) onde f(x) e a fun ca o para a qual se quer calcular o limite, x e a vari avel e a e o valor para o qual o x est a a tender (x a). Por exemplo para calcular o limite sin(x 1) x1 1x lim o comando e >>limit(sin(x-1)/(1-x),x,1) Existe tamb em a op ca o dos limites laterais. Basta indicar qual a direc c ao da forma >>limit(f(x),x,a,left) ou >>limit(f(x),x,a,right) onde left indica o limite ` a esquerda e right o limite a ` direita. Se pretendermos calcular a soma de alguns, ou todos os termos de uma sucess ao temos o comando symsum. O comando utiliza-se da forma >>symsum(u(n),n,a,b) onde u(n) e o termo geral da sucess ao, n e a vari avel simb olica, a e a ordem do primeiro termo e b a ordem do u ltimo termo. Se pretend essemos calcular a soma dos 100 primeiros termos da sucess ao un = seria >>symsum((4*n+1)/(n+3),n,1,100) Exerc cios 1. Calcule os seguintes limites. (a)
n+ 4n+1 n+3

o comando

lim

2 1 n

C alculo simb olico em Matlab x1 x1 1 x2 x1 (c) lim x3 (x 3)3

Limites e s eries

(b) lim

2. Calcule as seguintes somas. 1 1 1 1 + + 2 3 4 20 (b) 1 + 4 + 9 + 16 + + n2 1 1 1 (c) 1 + + + + ... 4 9 16 (a) 1 3. Uma mancha circular de crude e detectada a 5 km da costa. O comprimento, em quil ometros, do raio dessa mancha, t horas ap os ser detectada e dado por 1 + 4t 2+t Se n ao for tratada a mancha vai chegar a ` costa? r(t) = 4. Um cliente ma cador sempre aborrecia o seu alfaiate com pedidos insistentes de descontos. Certa vez, tratava-se dum fato de 250 euros. O alfaiate, j a farto, disse-lhe: Pois ent ao leve o fato de gra ca e pague-me s o os 12 bot oes do casaco: 1 euro pelo primeiro bot ao, 2 pelo segundo, 4 pelo terceiro, 8 pelo quarto e assim sucessivamente... Encantado, o cliente aceitou o neg ocio. Quem cou a lucrar? 5. Aquiles e uma tartaruga partem numa corrida. Como Aquiles corre dez vezes mais depressa que a tartaruga deu um avan co de 100 metros a ` tartaruga. Ser a que Aquiles alcan ca a tartaruga? Se sim , ao m de quantos metros? 6. A Mariana est a a brincar com os bot oes que a m ae tem guardados. Come cou a construir as seguintes guras:

Quantos bot oes tem a gura numero 6? Quantos bot oes s ao necess arios para fazer as primeiras 20 guras?

Cap tulo 5 Derivadas


Para se calcular a derivada o comando e diff. A forma mais simples de o utilizar e: >>diff(f(x)) onde f(x) e a fun ca o que se pretende derivar. Por exemplo, o comando >>diff(sin(2*x)) Devolve a resposta ans=2*cos(2*x) que e a derivada de sin(2x). Para se calcular as derivadas de ordem superior deve-se indicar qual a ordem da derivada, da forma >>diff(f(x),n) onde f(x) e a fun ca o que se pretende derivar e n a ordem da derivada. Por exemplo, o comando >>diff(sin(2*x),2) Devolve a resposta ans=-4*sin(2*x) que e a 2a derivada de sin(2x). de notar que a fun E ca o pode ter outras vari aveis. Nesse caso o Matlab procura primeiro qual a vari avel simb olica que existe na express ao de f . Se existirem mais que uma vari avel ele possui uma lista de ordena ca o. Exerc cios 1. Calcule a primeira derivada das seguintes fun c oes. (a) f (x) = 2x2 + 3x (b) g (x) = tan(3x + 5) (c) h(x) =
2x+3 x 1

2. Calcule a segunda derivada das seguintes fun c oes. (a) f (x) = 2x3 3x (b) g (x) = ln(3x + 5) 9

C alculo simb olico em Matlab (c) h(x) =


e 2x x1

Derivadas

3. Ao ser lan cado, um foguet ao e impulsionado pela expuls ao dos gases resultantes da queima de combust vel numa c amara. Desde o arranque at e se esgotar o combust vel, a velocidade do foguet ao, em quil ometros por segundo, e dada por: v (t) = 3ln(1 0.005t) 0.01t A vari avel t designa o tempo, em segundos, ap os o arranque. Indique uma express ao para a acelera ca o em cada instante. 4. Numa f abrica, o custo de produ c ao mensal de p milhares de pe cas e dado por c(p) = 10p3 210p2 + 1350p + 270 em milhares de euros O custo marginal da produ ca o de p pe cas e igual a c (p). Determine o custo marginal quando se produzem 4000 pe cas.

10

Cap tulo 6 Integrais e Areas


No c alculo de primitivas o comando a utilizar e int. A utiliza ca o deste comando e >>int(f(x)) Onde f (x) e a fun c ao que se pretende primitivar. Por exemplo, se pretendermos calcular a primitiva de f (x) = 6x3 2x2 + 1 a instru ca o e: >>int(6*x^3-2*x^2+1) Se o que pretendemos calcular e o integral do tipo
b

f (x) dx
a

Simplesmente temos de indicar os extremos da forma >>int(f(x),a,b) por exemplo >>int(6*x^3-2*x^2+1,1,2) Obs: Os valores a e b tamb em podem ser innitos. Por exemplo a instru ca o >>int(exp(-x),0,inf) devolve a resposta ans=1 pois
0 +

ex dx = 1 O comando int pode ser utilizado para calcular a reas limitadas por curvas. Por exemplo se pretendermos calcular a area sombreada da gura basta escrever

11

C alculo simb olico em Matlab >>int(sqrt(x)-x^2,0,1) Exerc cios 1. Calcule uma primitiva das seguintes fun co es. (a) f (x) = 2x2 + 3x (b) g (x) = ln(3x + 5) (c) h(x) =
2x+3 x 1

Integrais e Areas

2. Calcule o valor dos seguintes integrais.


2

(a)
0 1

2x dx (x 3)2 sin(x2 ) dx

(b)
0

(c)
0

1 dx (x + 2)2

3. Um m ovel desloca-se em linha recta de modo que em cada instante a velocidade e determinada pela fun c ao: v (t) = t2 + 3t 3 (m/s) (a) Indique uma express ao que nos permite saber a posi ca o no instante t. (b) Determine a dist ancia a ` origem ao m de 12 segundos. 4. Determine a area da superf cie limitada pela par abola y =
x2 2

+ 2 e pela recta y = x + 2.

12

Cap tulo 7 Transformadas


Transformada de Laplace A transformada de Laplace de uma dada fun ca o f (t) e outra fun c ao denida por
+

L(f (t)) = F (s) =


0

est f (t) dt

O comando do Matlab para o c alculo da transformada de Laplace e: >>laplace(f) por exemplo >>laplace(exp(-2*t)) devolve o resultado ans = 1/(s+2) pois
+

est e2t dt =
0

1 s+2

Transformada de Fourier A transformada de Fourier de uma dada fun c ao f (x) e outra fun c ao denida por
+

F (w) =

eiwx f (x) dx

O comando do Matlab para o c alculo da transformada de Laplace e: >>fourier(f) por exemplo >>fourier(exp(-x^2)) devolve o resultado ans = pi^(1/2)*exp(-1/4*w^2) pois
+

eiwx ex dt = Transformada em Z

w 2 e 4

A transformada em Z de uma dada sucess ao u(n) e uma fun c ao denida por


+

F (Z ) =
n=0

u(n) zn

O comando do Matlab para o c alculo da transformada de em Z e: >>ztrans(u) por exemplo 13

C alculo simb olico em Matlab >>ztrans(n^4) devolve o resultado ans = z*(z^3+11*z^2+11*z+1)/(z-1)^5 pois
+

Transformadas

n=0

n4 z (z 3 + 11z 2 + 11z + 1) = zn (z 1)5

Exerc cios 1. Calcule a transformada de Laplace das seguintes fun co es. (a) f (t) = t4 2t2 + 1 (b) f (t) = e2t cos(t) (c) f (t) = t2 e3t 2. Calcule a transformada de Fourier das seguintes fun c oes. (a) f (x) = e2|x| (b) f (x) = x2 e|x| 3. Calcule a transformada em Z das seguintes sucess oes. (a) u(n) = n2 + 2n (b) u(n) = cos(3n)

14

Cap tulo 8 Equa c oes Diferenciais


Quando se pretende resolver uma equa ca o diferencial o comando a utilizar deve ser dsolve. Como o s mbolo est a reservado para indicar texto n ao pode ser utilizado para indicar as derivadas. Ent ao utiliza-se um D, da forma y -> Dy y-> D2y y -> D3y ... por exemplo >>y=dsolve(Dy=1+y^2) devolve o resultado y = tan(t+C1) pois se y (t) = tan(t + C1 ) y = 1 + tan(t + C1 )2 = 1 + y 2 Se a equa ca o diferencial tem valores iniciais, basta indicar, depois da equa ca o, essa condi c ao. por exemplo >>y=dsolve(Dy=1+y^2,y(0)=1) devolve o resultado y = tan(t+1/4*pi) pois se y (t) = tan(t + ) 4 y = 1 + tan(t + 2 ) = 1 + y 2 e y (0) = tan( ) = 1 4 4

No caso de pretendermos resolver v arias equa co es diferenciais simult aneas s o temos de indicar todas as equa co es e as condi co es iniciais separadas por v rgulas. por exemplo >>[x,y]=dsolve(Dx=y,Dy=-x,x(0)=2,y(0)=1) devolve o resultado x =2*cos(t)+sin(t) y =-2*sin(t)+cos(t) Exerc cios 15

C alculo simb olico em Matlab 1. Calcule a solu ca o das seguintes equa co es diferenciais. (a) y =
y 1t2

Equa c oes Diferenciais

(b) y 3y + 2y = 4e2t (c) y 2ty 2y = 0, y (0) = 1, y (0) = 0

2. Calcule a solu ca o do sistema seguinte. x =y y = x , x(0) = 1 y (0) = 0

16

Você também pode gostar