You are on page 1of 14

Matlab 2

Processamento Simbólico
Polinómios e Equações
Gráficos
Matlab Exercício 2

1. Iniciar o programa Matlab.


Há duas formas:

 Fazer duplo-clique sobre o atalho , existente no ambiente de trabalho do Windows


 Menu Iniciar > Programas > Matlab > Matlab 5.3

Processamento Simbólico

Neste exercício abordamos o processamento de expressões simbólicas, tais como:

d x2
cos( x 2 ) 3x 2  5x  1 v  2x 2 f  dx
dx 1 x
O Matlab usa objectos simbólicos para representar variáveis e expressões. Uma expressão simbólica é uma
expressão que contém objectos simbólicos e internamente, um objecto simbólico é uma estrutura de dados do
tipo cadeia de caracteres (string).

Criação e Utilização de Objectos Simbólicos

Os objectos simbólicos podem ser criados através das funções sym e syms, cujos formatos são os seguintes:

 v = sym ( ‘ expressão ’ ) ( cria a variável simbólica v para representar a expressão )

 syms v1 v2 ... vn ( cria as variáveis simbólicas v1, v2, ..., vn )

1. Criar a variável simbólica e para representar a expressão 2 k  5 1:


» e = sym ( ‘ 2 * k + sqrt(5) = 1’ )

2. Criar as variáveis simbólicas x, y e z:


» syms x y z

Nota: Reparar que as variáveis simbólicas não precisam de guardar um valor predefinido como no
processamento numérico.

x y
3. Criar a variável f para representar a expressão :
x2
» f = (x+y) / (x-2)

Nota: Este comando cria uma variável simbólica (f) porque a expressão contém pelo menos uma variável
simbólica (definida previamente).

4. Criar as seguintes variáveis v e M:

1 1
a) v ( para representar a expressão )
2w 2w
» syms w

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 1/12


Matlab Exercício 2

» v = 1 / sqrt ( 2 * w )

Nota: Depois de criar uma variável simbólica, esta pode ser usada em expressões, da mesma maneira
que as variáveis numéricas.

a b 
b) M   ( para representar uma matriz 2X2 )
c d 
» syms a b c d
» M =  a, b ; c, d 
5. Calcular o determinante da matriz M.
» det ( M ) ( Solução (S) = a * d – b * c )

Substituição de Variáveis

Numa expressão simbólica, para substituir uma variável por um valor numérico usa-se a função subs. O seu
formato é o seguinte:

 subs (f, x, a) ( retorna a expressão f com a variável x substituída pelo valor a )

Esta função é particularmente importante para determinar o valor duma função.

1. Definir a função f ( x)  2 x 2  3x  5 :
»f=2*x^2+3*x-5
2. Calcular o valor de f (2):
» subs(f, x, 2) (S=9)

Operações Básicas ( Soma, Subtracção, Multiplicação, Divisão e Potenciação )

Usam-se os operadores habituais e que foram apresentados no exercício anterior Matlab_1 sobre o processamento
numérico ( +, -, *, /, ^).

1. Definir a função g ( x)  x 2  x  7 :
»g=x^2–x+7
2. Calcular as seguintes operações:
a) f g (»f+g) (S=3*x^2+2*x+2)

b) f g (»f*g) (S=(2*x^2+3*x–5)*(x^2–x+7))
3x
c) f ( » f ^ (3 * x) ) ( S= ( 2 * x ^ 2 + 3 * x – 5 ) ^ ( 3 * x ) )

Somatórios

Os somatórios são calculados através da função symsum e a sua forma geral é a seguinte:
b
 symsum(f, x, a, b) ( retorna  f (x) )
a

1. Calcular:
n
a)  ( 2n  1) 2 ( » symsum ( (2*n-1)^2, n, 1, n ) ) (S=11/3*n+8/3-4*(n+1)^2+4/3*(n+1)^3)
1

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 2/12


Matlab Exercício 2

10
b)  (2n  1) 2 ( » symsum ( (2*n-1)^2, n, 1, 10 ) ) ( S = 1330 )
1


1
c)  ( 2n  1) 2
( » symsum ( 1/(2*n-1)^2, n, 1, inf ) ) ( S = 1/8*pi^2 )
1

Limites

Para o cálculo de limites de expressões simbólicas usa-se a função limit e podemos usar as seguintes formas:

 limit (f, x, a ) ( retorna o limite de f quando x  a )

 limit (f, x, a, ‘right’ ) ( retorna o limite de f quando x  a+ )

 limit (f, x, a, ‘left’ ) ( retorna o limite de f quando x  a- )

sen( x)
1. Definir a função f (x )  :
x
» f = sin(x)/x

lim
2. Calcular o x f ( x) :
0
» limit ( f, x, 0 ) (S=1)

3. Calcular os seguintes limites:


1
a) lim (1  ) x ( » limit ( (1+1/x)^x, x, inf ) ) ( S = exp(1) )
x  x
1
b) lim ( » limit ( 1/x, x, 0, ‘right’ ) ) ( S = inf )
x 0 x

1
c) lim ( » limit ( 1/x, x, 0, ‘left’ ) ) ( S = -inf )
x  0 x
Derivadas

Para a derivação de expressões simbólicas usa-se a função diff e a sua forma geral é a seguinte:

 diff (f, x, n) ( retorna a n-ésima derivada da função f em ordem a x )

1. Definir a função f ( x)  ax 3  x 2  bx  c :
»f=a*x^3+x^2–b*x-c

2. Calcular as suas derivadas de 1ª e 2ª ordem em relação à variável x :


d
a) f (x) ( » diff ( f, x, 1 ) ) (S=3*a*x^2+2*x-b)
dx
d2
b) f (x ) ( » diff ( f, x, 2 ) ) (S=6*a*x+2)
dx 2
3. A função diff também opera sobre matrizes.

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 3/12


Matlab Exercício 2

 ax bx 2 
a) Criar a matriz simbólica M  3 
cx dy 
b) Calcular as derivadas de 1ª ordem dos elementos da matriz M em relação a x:

» diff ( M, x, 1 ) (S= )

Integrais

Para a integração de expressões simbólicas usa-se a função int e podemos usar as seguintes formas:

 int (f, x) ( retorna o integral indefinido de f em relação à variável x )

 int (f, x, a, b) ( retorna o integral definido de f em relação à variável x no intervalo


entre a e b )

1. Definir a função g ( x)  seno(2 x  y ) :


» g = sin ( 2 * x + y )

2. Calcular os seguintes integrais :

a)  g ( x) dx ( » int ( g, x ) ) ( S = -1 / 2 * cos ( 2 * x + y ) )

b)  g ( y ) dy ( » int ( g, y, 0, pi ) ) ( S = 2 * cos(x) ^ 2 – 1 + cos( 2 * x ) )


0

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 4/12


Matlab Exercício 2

Simplificação e Formatação de Expressões

O Matlab oferece diversas funções para simplificar ou modificar o formato de expressões simbólicas.

Para simplificar podemos usar a função simple.

1. Simplificar o último resultado obtido (ans), usando o seguinte comando:


» r = simple( ans ) ( S = 2 * cos ( 2 * x ) )

Esta função usa vários métodos de simplificação e fornece o resultado mais curto. Para evitar a
apresentação de todos esses métodos, atribui-se a função simple a uma variável (como neste caso).

Para formatar uma expressão simbólica podemos usar as seguintes funções:

 expand( p ) ( expande todos os termos de p )

 factor( p ) ( tenta apresentar p como um produto de polinómios )

 collect( p , v ) ( escreve p em termos de potências de v )

2. Definir a função p ( x )  ( x 2  1)( x  2)( x  3) :


»p=(x^2–1)*(x–2)*(x–3)

3. Determinar uma expressão equivalente de p, desenvolvendo os produtos :


» expand( p ) (S=x^4–5*x^3+5*x^2+5*x-6)

4. Determinar uma expressão equivalente de p, decompondo a expressão num produto de polinómios:


» factor( ans ) (S=(x–1)*(x–2)*(x–3)*(x+1))

5. Definir a expressão g ( x)  4 x 2  2 x  x 2  1  3x  5 :
»g=4*x^2–2*x+x^2–1–3*x+5

Nota: Reparar que o Matlab guarda a expressão simplificada ( g ( x )  5 x 2  5 x  4 ), agrupando os

termos de x do mesmo grau.

6. Definir a expressão p( x)  2 x  xy  5 y  y 2  2
»p=2*x+x*y+5*y+y^2+2

7. Determinar a expressão equivalente de p, agrupando os termos de x do mesmo grau:


» collect ( p ) (S=(y+2)*x+2+5*y+y^2)

8. Determinar a expressão equivalente de p, agrupando os termos de y do mesmo grau:


» collect ( p , y ) (S=y^2+(x+5)*y+2*x+2)

Precisão dos Resultados

O processamento simbólico é muito mais preciso que o processamento numérico, porque as operações
com valores numéricos introduzem erros de arredondamento e que se vão acumulando em operações
sucessivas, enquanto que as operações simbólicas como não efectuam cálculos numéricos, não geram

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 5/12


Matlab Exercício 2

esses erros. Os erros de arredondamento surgem porque a precisão numérica é limitada pelo número
de dígitos utilizados por cada operação.
Para usarmos o processamento simbólico no cálculo de expressões numéricas, estas precisam de ser
previamente definidas como constantes simbólicas, como veremos na secção seguinte.

Funções de Conversão

O Matlab fornece funções que permitem converter valores numéricos em constantes simbólicas e vice-versa. As
constantes simbólicas são expressões simbólicas sem variáveis.

 sym( ‘ n ’ ) ( retorna a representação simbólica do valor numérico n )

 double( c ) ( retorna o valor numérico da constante simbólica c com precisão dupla )

1. Converter o seguinte valor numérico (1  5 ) / 2 numa constante simbólica :

» c = sym ( ‘ (1 + sqrt(5))/2 ’ )
Nota: Reparar que a variável simbólica c guarda a expressão e não o seu resultado, como acontece no
processamento numérico.

2. Converter a constante simbólica c no seu valor numérico:


» double(c) ( S = 1.6180 )

Polinómios e Equações

A determinação das raízes dum polinómio e a resolução de sistemas de equações lineares podem ser resolvidos
através do processamento simbólico, usando a função solve.

Raízes dum Polinómio

A função solve pode ser usada no seguinte formato:

 solve ( p ) ( devolve as raízes do polinómio p (variável simbólica) em relação à variável independente


mais próxima alfabeticamente de x )

1. Definir o polinómio p1  x 2  2 x  3 :
» p1 = x ^ 2 + 2 * x - 3
2. Determinar as raízes do polinómio p1:
» solve( p1 ) ( S = ( -3 , 1 ) )

3. Definir o polinómio p 2  x 2  ax  b :
» p2 = x ^ 2 + a * x - b
4. Determinar as raízes do polinómio p:

» solve( p2 ) (S=( ))

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 6/12


Matlab Exercício 2

Resolução de uma Equação Linear

Podemos usar a função solve no formato apresentado anteriormente, em que o p passa a representar a equação
a resolver.

1. Criar a variável simbólica e para representar a equação 2x  3  5 :


» e = sym ( ‘ 2*x + sqrt(3) = 5 ’ )

Nota: É usada esta função sym por causa do sinal = da equação.

2. Resolver a equação :
» solve( e ) ( S = -1 / 2 * 3 ^ ( 1 / 2 ) + 5 / 2 )

Resolução de um Sistema de Equação Lineares Possível e Determinado

A função solve também pode ser usada no seguinte formato:

 S = solve ( ‘e1’, ‘e2’ , ..., ‘en’) ( determina a solução do sistema de n equações (e1, e2, ..., en) em
função das variáveis-padrão independentes (x, y, ...) e guarda-a na variável S do tipo registo ou
estrutura )

x  y  2
1. Criar as variáveis simbólicas (e1, e2) para representarem as equações do seguinte sistema 
 x  y 1
» e1 = sym ( ‘ x + y = 2 ’ )
» e2 = sym ( ‘ x - y = 1 ’ )

2. Resolver o sistema de equações:


» S = solve( e1, e2 ) (S é uma estrutura que guarda as variáveis x e y )

3. Determinar as soluções de x e y:
» S.x (S=3/2)
» S.y (S=1/2)

4. Criar as variáveis simbólicas (e3, e4) para representarem as equações do seguinte sistema de equações
lineares:
ax  by  2
cx  dy  1
5. Resolver o sistema de equações:
» S = solve( e3, e4 )

6. Determinar as soluções de x e y:
» S.x (S=(b+2*d)/(a*d+b*c))
» S.y (S= - ( a – 2 * c ) / ( a * d + b * c ) )

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 7/12


Matlab Exercício 2

Resolução de um Sistema de Equação Lineares Indeterminado

7. Resolver o seguinte sistema de equações indeterminado (nº de equações é inferior ao nº de incógnitas):

 ax  by  z  1 ( S.x = -( 2 * z – 2 – 3 * z * b + c * b ) / ( 2 * a – b ) )

x  2 y  3z  c ( S.y = ( -3 * a * z + a * c + z – 1 ) / ( 2 * a – b ) )
Resolução de um Sistema de Equação Lineares Sobredeterminado

8. Resolver o seguinte sistema de equações sobredeterminado (nº de equações é superior ao nº de incógnitas):

 x y1
x  2 y  3 ( S.x = - 1 )
 ( S.y = 2 )
 5 x  5 y   5

Gráficos

Apenas são abordados os gráficos de linhas bidimensionais.

O Matlab cria os gráficos numa janela chamada Janela de Figuras.

Gráficos de Linhas Bidimensionais

Os gráficos de linhas bidimensionais podem ser criados a partir duma expressão simbólica ou de vectores de
dados.

Dados definidos por expressões simbólicas:

Usamos a função ezplot no seguinte formato:

 ezplot ( f, a, b ) ( cria gráfico de f=f(x) no intervalo a < x < b )

1. Criar um gráfico de linhas bidimensional da função seno no intervalo -2 < x < 2:
» ezplot( ‘ sin(x) ’ ,  -2*pi, 2*pi  ) ( cria gráfico numa janela de figuras )

2. Formatar o gráfico de acordo com a figura seguinte, recorrendo às ferramentas disponíveis no menu Tools.

3. Guardar o gráfico na sua pasta pessoal:


 Menu File > Save

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 8/12


Matlab Exercício 2

Podemos adicionar novas curvas ao gráfico existente, usando o comando hold. Depois de executado o comando
hold on, o Matlab adiciona as novas curvas ao gráfico existente. Se os novos dados não se ajustarem aos limites
actuais dos eixos, estes são reescalados. Para voltar a criar um novo gráfico é preciso usar o comando hold off.

4. Instruir o Matlab a adicionar uma nova curva ao gráfico existente.


» hold on

5. Criar a curva da função coseno no intervalo -2 < x < 2:


» ezplot( ‘ cos(x) ’ ,  -2*pi, 2*pi  )

6. Formatar o gráfico de acordo com a figura seguinte:

7. Guardar o gráfico na sua pasta pessoal.

8. Instruir o Matlab a criar novos gráficos.


» hold off

9. Criar a curva da função seno no intervalo 0 < x < 2:


» ezplot( ‘ sin(x) ’ ,  0, 2*pi  )

10. Guardar o gráfico na sua pasta pessoal.

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 9/12


Matlab Exercício 2

Dados definidos por vectores:

Usamos a função plot nos seguintes formatos:

 plot ( x, y ) ( cria gráfico y(x) no intervalo xmin < x < xmax )

 plot ( x1, y1, x2, y2, ..., xn, yn ) ( cria gráfico com múltiplas curvas: y1(x1), y2(x2), ..., yn(xn) )

Notas:  Os pares de vectores de dados (x, y) têm de ter a mesma dimensão;


 As curvas são criadas unindo os pontos por linhas rectas.

Comecemos por criar o gráfico do seno(x) no intervalo -2 < x < 2.

1. Criar os vectores de dados x e y, com 30 elementos:


» x = linspace ( 0, 2*pi, 30 )
» y = sin ( x )

2. Criar o gráfico y(x):


» plot ( x, y )

3. Guardar o gráfico na sua pasta pessoal.

Vamos agora criar um gráfico com duas curvas, seno(x) e cos(x), no intervalo -2 < x < 2:

1. Criar o vector x2, com 10 elementos:


» x2 = linspace ( -2*pi, 2*pi, 10 )

2. Criar o vector y2, com 10 elementos:


» y2 = cos ( x2 )

3. Criar o gráfico:
» plot ( x, y, x2, y2 )

4. Formatar o gráfico de acordo com a figura seguinte:

5. Guardar o gráfico na sua pasta pessoal.

EXTRA:

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 10/12


Matlab Exercício 2

1. Criar a variável simbólica E para representar a equação: 2 ln( x )  5 3  2


2. Determinar a solução da equação da alínea anterior. ( S = exp(1/2*3^(1/5)+1) )

3. Definir a variável F para representar a função f ( y )  ln( y )  e y


4. Determinar o valor de f (5) ( S = 13.7919 )

5. Definir a variável G para representar a função g ( z )  4 z 2  cos( z )


6. Calcular:
n
a)  (2 n  5) (S=2^(n+1)+5*n-2)
1

1
b) lim ( ) (S=0)
x  x

cos( x)
c) lim ( ) ( S = inf )
x 0 x

d2
d) g ( z) ( S = 8 - cos( z ) )
dz 2
e)  g ( z) dz ( S = 4 / 3 * z ^ 3 + sin( z ) )

f)  tg ( x) dx (S=0)


7. Simplificar a expressão: cos 2 ( x)  sen 2 ( x) (S=1)

8. Desenvolver os produtos da expressão: ( x  1)( x  1) (S=x^2-1)

9. Decompor a expressão num produto de polinómios: ( x 2  1) (S=(x–1)*(x+1))

10. Simplificar a expressão agrupando os termos de y do mesmo grau:


2 xy  4 y 2  yx 2  5 (S=4*y^2+(2*x+x^2)*y+5)

11. Definir a constante simbólica C como representante da expressão numérica: ln(4)  2


12. Determinar o valor numérico da constante simbólica C da alínea anterior. ( S = -0.6137 )

13. Determinar as raízes do polinómio: p( x)  x 2  ax  x  a ( S = ( 1, -a ) )

14. Resolver o seguinte sistema de equações:

3x  ay  1 ( S.x = ( -1 + 5 * a ) / ( -3 + a ) )

 x y 5 ( S.y = 14 / ( -3 + a ) )

x
15. Criar um gráfico de linhas bidimensional para representar as funções f (x )  3 e g ( x)  x  1 no
4
intervalo x  0,10 . O gráfico deve apresentar a seguinte formatação:

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 11/12


Matlab Exercício 2

Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 12/12

You might also like