Introdução ao curso de Matemática Simbólica no MatLab Prof. Marcelo Sousa Neves Mestre em Engenharia Elétrica 1 Symbolic Math Toolbox O Toolbox de Matemática Simbólica disponibiliza uma coleção de diversas funções do MATLAB utilizadas para calcular operações básicas, tais como: derivadas, limites, integrais, expansão da serie de Taylor, e outras operações. A manipulação simbólica no MATLAB pode ser vista como uma evolução do modo como você utiliza o MATLAB para processar números. 2 Symbolic Math Toolbox A grande vantagem de se utilizar tal processo é que podemos obter resultados mais exatos, eliminando-se assim a imprecisão introduzida pelos valores numéricos. Podemos resolver derivadas, integrais, equações diferenciais e algébricas utilizando-se esta poderosa ferramenta. 3 Symbolic Math Toolbox EXPRESSÕES SIMBÓLICAS Deve-se entender por Expressão simbólica as expressões que contêm objetos simbólicos que podem representar números, funções e operações e variáveis. Dica: As variáveis simbólicas não precisam de um valor numérico. Esta variável simbólica representa apenas um símbolo de uma expressão simbólica. 4 Symbolic Math Toolbox EXPRESSÕES SIMBÓLICAS Exemplos: x 3 d z (5 x 4 ) dx 5 Symbolic Math Toolbox O MATLAB disponibiliza várias funções que trabalham com funções polinomiais e que podem ser utilizadas para representar funções polinomiais. Dentre elas, encontram-se as seguintes funções: collect expand factor simplify simple 6 Symbolic Math Toolbox collect Organiza os coeficientes Sintaxe collect( f ) mostra um polinômio f em sua variável simbólica, seja x, e organiza todos os coeficientes com a mesma potência de x. Um segundo argumento pode especificar a variável que se deve organizar se houver mais de uma variável simbólica possível. 7 Symbolic Math Toolbox collect(f) 1) Escreva a função y = (x+1)^3 na forma polinomial >> clear % Limpa a Janela de Comandos >> x = sym('x'); % Define a variavel simbolica “x” >> y = (x + 1)^3; % Define a função y = f(x) >> collect(y); % Organiza os coeficientes >> pretty(ans) % Exibe o resultado x3 + 3x2 + 3x + 1 8 Symbolic Math Toolbox Faça você!!! Escreva a função y = (x + 1)(x + 2) na forma polinomial. 9 Symbolic Math Toolbox collect( f, nome da variável simbólica) A função collect neste caso aceita um segundo argumento que especifica que variável simbólica deve ser utilizada para organizar o polinômio. 10 Symbolic Math Toolbox collect(f, nome da variável simbólica) 2) Escreva a função f(x,z) = (x + 1)^3 + z na forma polinomial. >> x = sym('x'); % Define a variável simbólica x >> z = sym(‘z’); % Define a variável simbólica z >> y = (x +1)^3 + z; % Define a função y = f(x,z) >> collect(y,x); % Organiza os coeficientes em x >> pretty(ans) % Exibe o resultado x3 + 3 x2 + 3 x + 1 + z 11 Symbolic Math Toolbox Faça você!!! Escreva a função y = (x + 1)^3 + (z + 1)^2 na forma polinomial, em termos de z. 12 Symbolic Math Toolbox expand realiza a distribuição de produtos para polinômios e aplica outras identidades que envolvem funções de somas, identidades trigonométricas, exponenciais e logaritmos. Sintaxe expand( f ) 13 Symbolic Math Toolbox expand(f) 3) Escreva a função y = (x+1)^3 na forma polinomial >> clear % Limpa a Janela de Comandos >> x = sym('x'); % Define a variavel simbolica “x” >> y = (x + 1)^3; % Define a função y = f(x) >> expand(y); % Realiza o produto polinomial >> pretty(ans) % Exibe o resultado x3 + 3x2 + 3x + 1 14 Symbolic Math Toolbox expand X collect Além de representar funções polinomiais a função é bastante útil na manipulação de expressões simbólicas trigonométricas, exponenciais, hiperbólicas, entre outras funções. Esta é uma das características marcantes que diferenciam a função expand da collect. A função expand é bem mais robusta, porque trabalha com muitos tipos de funções, enquanto a função collect é restrita apenas a funções polinomiais. Podemos, dizer que a função expand é uma evolução da função collect, agregando-se novas funcionalidades. 15 Symbolic Math Toolbox expand 4) Obtenha a forma expandida trigonométrica cos(x + y). da função x = sym(‘x’); % Cria a variável simbólica x. y = sym(‘y’); % Cria a variável simbólica y. expand(cos(x+y)) % Realiza a operação ans = % Variável padrão do matlab cos(x)*cos(y) - sin(x)*sin(y) % Resultado 16 Symbolic Math Toolbox Faça você!!! Obtenha a forma expandida da função exponencial exp(x + y). 17 Symbolic Math Toolbox Factor Fatoração Sintaxe factor(X) Esta função obtém a forma fatorada de um polinômio. Na sintaxe da função X, pode ser apenas a expressão simbólica. Ou um array simbólico contendo vários expressões simbólicas. No caso de utilizar um array, a função factor retorna um array com as expressões simbólicas correspondentes. 18 Symbolic Math Toolbox Uso da Função factor Calcular os fatores primos de um número inteiro. Obter a forma polinomial fatorada. Simplificar expressões simbólicas. 19 Symbolic Math Toolbox Factor(x) 5) Calcule os fatores dos seguintes números 15 e 50. >> factor(15) ans = 3 5 >> factor(50) ans = 2 5 5 20 Symbolic Math Toolbox Factor(x) 5) Calcule os fatores do número 12345678901234567890 >> factor(sym('12345678901234567890')) ans = (2)*(3)^2*(5)*(101)*(3803)*(3607)*(27961)*(3541) 21 Symbolic Math Toolbox 6) Obtenha a forma fatorada da equação y = x^3 +3*x^2 + 3*x + 1 >> x = sym('x'); % Cria a variável simbólica x. >> y = x^3 + 3*x^2 + 3*x + 1 % Define a função y = f(x) >> factor(y); % Fatoração >> pretty(ans) % Exibe o resultado (x + 1)^3 22 Symbolic Math Toolbox Faça você!!! Obtenha a forma fatorada da equação y = x^2 + 3*x + 2 23 Symbolic Math Toolbox Simplify Simplificação simbólica. Sintaxe: R = simplify(S) A função simplify é uma ferramenta poderosa, que em geral aplica várias identidades algébricas que envolvem somas, potência inteira, raízes quadradas e potência fracionária, como também vários identidades que envolvem funções trigonométricas, exponencial e funções de Bessel, função gama, etc. 24 Symbolic Math Toolbox 7) Simplifique a seguinte expressão: x3 8 y 4 x 16 >> x = sym('x'); % Cria a variável simbólica x. >> y = (x^3 + 8)/(x^4 - 16); % Define a função y = f(x) >> simplify(y); % Simplificação simbólica >> pretty(ans) % Exibe o resultado x^2 - 2x + 4 ------------------x^3 - 2x^2 + 4x - 8 25 Symbolic Math Toolbox Faça você!!! x2 Simplifique a seguinte expressão: y 3 x 8 26 Symbolic Math Toolbox 8) Simplifique a seguinte expressão y cos ( x) sin ( x) 2 2 >> x = sym(‘x’); % Cria a variável simbólica x. >> y = cos(x)^2 + sin(x)^2; % Define a função y = f(x) >> simplify(y); % Simplificação simbólica >> pretty(ans) % Exibe o resultado 1 27 Symbolic Math Toolbox 9) Simplifique a seguinte expressão: log(x * y) >> syms x y positive % Cria as variáveis simbólicas x e y, ambas positivas. >> simplify(log(x*y)); % Simplificação simbólica >> pretty(ans) % Exibe o resultado log(x) + log(y) 28 Symbolic Math Toolbox Simple Busca a forma mais simplificada para a expressão simbólica. Sintaxe: r = simple( S ) [r,how] = simple( S ) A função simple(S) tenta várias simplificações algébricas diferentes na expressão simbólica S, exibe a representação de menor comprimento para S. S é um sym. Se S for uma matriz, o resultado indica a representação mais curta da matriz inteira que necessariamente não é a representação mais curta de cada elemento individual. 29 Symbolic Math Toolbox 10 ) Simplifique a expressão y = (x + 1)(x + 2) >> x = sym(‘x’); % Cria a variável simbólica x. >> simple((x+1)(x+2)) % Simplificação ans = x^2+3*x+2 30 Symbolic Math Toolbox Faça você!!! Simplifique a expressão y 2 cos2 ( x) sin 2 ( x) 31 Symbolic Math Toolbox pretty Esta função imprime uma expressão simbólica. Pretty(expressão simbólica). A grande vantagem do uso da função pretty quando trabalha-se com matemática simbólica é que a exibição da expressão simbólica é a mais clara possível. Dica: Ao trabalhar com matemática simbólica, sempre use a função pretty, para tornar mais legível a expressão simbólica mostrada na tela. 32 Créditos Notas de aulas do prof. Josenildo F. Galdino, 2007 – UFCG. www.mathworks.com 33