Você está na página 1de 13

Aprendendo a programar utilizando o Matlab

Blog desenvolvido durante nosso projeto de extensão no IFSP – Campus São Paulo

Funções simbólicas: Uso do “@” e do


“Syms”

<Editando>

FUNÇÕES SIMBÓLICAS

(Ver com a Baroni, pois no livro “Matlab 6- curso completo” não encontrei a função “syms”.
Somente na pg 160 fala brevemente sobre função através de Feval, que parece com o emprego do
@, mas existem diferenças consideráveis.

Para trabalhar com uma das funções mais interessantes do Matlab (programação simbólica),
pode-se utilizar tanto o “syms” quanto o “@”.

Ver aquela questão que a Baroni pediu para colocar sobre o fato do syms não estar instalado, etc

A implementação desses comandos é muito fácil. Para obter a função f(x)= x², por exemplo, basta
digitar na Command Window os seguintes elementos: f= @(x) x^2

 
Figura 3.3- Exemplo de uma função utilizando o “@”

No exemplo acima, a variável independente é x (por isso vai dentro do parênteses) e a variável
dependente é f. Para substituir valores de x na função basta digitar f(valor desejado):

Figura 3.4- Exemplo de uso da função @

Quando for necessário trabalhar com vetores, ou seja, calcular a função para vários valores ao
mesmo tempo, deve-se tomar cuidado com algumas operações, tais quais:    *, / e ^. Neste caso, a
função deve apresentar um ponto antes da respectiva operação. Por exemplo: f= @(x) x.^2
 Figura 3.5- Exemplo de uso de vetores para função @

Outra forma de implementar simbolicamente no matlab é utilizar a função “syms”. Para isso, deve-
se digitar os seguintes comandos para representar a função f(x)=x³, por exemplo, syms x; f=x^3.

Para substituir os valores de x na função, no caso do syms, torna-se um pouco diferente: Use
subs(f,x,valor desejado)

 Figura 3.6- Exemplo de uso da função syms

A mesma observação realizada para a função @ em relação aos vetores, serve para syms.
  Figura 3.7- Exemplo de uso de vetores para função syms

——————————————————————————————————————–

Exercício 1: Implemente as funções f(x) abaixo utilizando os dois casos (@ e syms) e depois
calcule o valor de f(xo) ou subs(f,x,xo):

Resolução: Primeiramente vamos fazer todos os itens utilizando @


 Figura 3.8- Resolução item a com a função @

Figura 3.9- Resolução item b com a função @


Figura 3.10- Resolução item c com a função @ (analisar esse resultado com a Baroni)

Figura 3.11- Resolução item d com a função @

Agora resolvendo utilizando o syms:


Figura 3.12- Resolução item a com a função syms

Figura 3.13- Resolução item b com a função syms


Figura 3.14- Resolução item c com a função syms

Figura 3.15- Resolução item d com a função syms

——————————————————————————————————————–

Diversas operações podem ser realizadas entre as funções: soma, subtração, multiplicação
divisão, etc. Além disso, existem comandos muito interessantes como o compose (que calcula a
função composta) e o finverse (que calcula função inversa), por exemplo. Mas deve-se alertar que
estes comandos trabalham somente com funções simbólicas definidas com o syms.

——————————————————————————————————————–
 Exercício 2: Implemente simbolicamente as funções f(x)= 2x²+3x-5 e g(x)=x²-x+7. Observe o que
acontece quando você efetua as seguintes operações entre funções:

a) Soma                                                                                                                               b) Subtração            
                                                                                                          c) Multiplicação                                          
                                                                        d) Divisão                                                                                        
                                    e) Composta: f o g(x) ou f(g(x))                                                                                      
      f) Inversa: f-1(x)  g-1(x)         

Figura 3.16- Resolução exercício 2 (item a-c)

Figura 3.17- Resolução exercício 2 (d que não apareceu na figura acima)


Observação: Utilizar o comando expand() para visualizar os resultados que foram dados com o
sinal de multiplicação

Figura 3.18- Itens c e d com o comando expand

Figura 3.19- Resolução exercício 2 (e-f)

——————————————————————————————————————–

Outros comandos podem manipular expressões algébricas:


Figura 3.20- Comandos para funções syms

Algums exemplos aplicados:

>> syms x                                                                                                                             >>


simplify((sin(x))^2+(cos(x))^2)                                                                                           ans =                        
                                                                                                                                 1

Estes comandos mandam o MATLAB simplificar a expressão sen²x+cos²x. Primeiro precisamos


dizer ao MATLAB que x é uma variável simbólica, depois pedimos para simplificar a expressão que
envolve x. Neste caso usamos uma função chamada simplify. Neste caso, a função simplify tem
como argumento de entrada uma expressão simbólica e de saída também.

O MATLAB pode resolver equações. Por exemplo, para resolver a equação

ax2+bx+c =0 algebricamente, podemos usar os comandos:

>> syms a b c x

>> solve(a*x^2+b*x+c)                                                                                                           ans =                    


                                                                                                                                   [1/2/a*(-b+(b^2-
4*a*c)^(1/2))]                                                                                                    [1/2/a*(-b-(b^2-4*a*c)^(1/2))]

O MATLAB pode exibir este resultado de uma forma mais fácil de enxergar usando a função pretty.

>> pretty(ans)

Veja na figura abaixo:


 

Figura 3.21- Comando pretty

Existem várias outras funções para manipulação de expressões algébricas. Você pode obter
informações sobre elas digitando help symbolic. Uma função interessante que mostra as
capacidades do MATLAB em tratar com funções matemáticas é funtool que é uma calculadora
para funções, a qual será explicada no próximo post.

Figura 3.21- Help symbolic

CO MPART I LH E IS SO :

 Twitter  Facebook  Google


Carregando...