Matlab Processamento Simbólico Polinómios e Equações Gráficos
Matlab Eercício. Iniciar o programa Matlab. Há duas formas: Fazer duplo-clique sobre o atalho, eistente no ambiente de trabalho do Windows Menu Iniciar > Programas > Matlab > Matlab 5.3 Neste eercício abordamos o processamento de epressões simbólicas, tais como: cos( ) 3 5 d v d Processamento Simbólico f d O Matlab usa objectos simbólicos para representar variáveis e epressões. Uma epressão simbólica é uma epressã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 ( epressão ) ( cria a variável simbólica v para representar a epressão ) syms v v... vn ( cria as variáveis simbólicas v, v,..., vn ). Criar a variável simbólica e para representar a epressão k 5 :» e = sym ( * k + sqrt(5) = ). Criar as variáveis simbólicas, y e z:» syms y z Nota: Reparar que as variáveis simbólicas não precisam de guardar um valor predefinido como no processamento numérico. 3. Criar a variável f para representar a epressão» f = (+y) / (-) y : Nota: Este comando cria uma variável simbólica (f) porque a epressão contém pelo menos uma variável simbólica (definida previamente). 4. Criar as seguintes variáveis v e M: a) v w ( para representar a epressão w )» syms w Processamento Simbólico, Polinómios, Equações e Gráficos Pág. /
Matlab Eercício» v = / sqrt ( * w ) Nota: Depois de criar uma variável simbólica, esta pode ser usada em epressões, da mesma maneira que as variáveis numéricas. a b b) c d M ( para representar uma matriz X )» 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 epressã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,, a) ( retorna a epressão f com a variável substituída pelo valor a ) Esta função é particularmente importante para determinar o valor duma função.. Definir a função f ( ) 3 5 :» f = * ^ + 3 * - 5. Calcular o valor de f ():» subs(f,, ) ( 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 eercício anterior Matlab_ sobre o processamento numérico ( +, -, *, /, ^).. Definir a função g ( ) 7 :» g = ^ + 7. Calcular as seguintes operações: a) f g (» f + g ) ( S = 3 * ^ + * + ) b) f g (» f * g ) ( S = ( * ^ + 3 * 5 ) * ( ^ + 7 ) ) c) f 3 (» f ^ (3 * ) ) ( S= ( * ^ + 3 * 5 ) ^ ( 3 * ) ) Somatórios Os somatórios são calculados através da função symsum e a sua forma geral é a seguinte: symsum(f,, a, b) ( retorna b a f ( ) ). Calcular: n a) n ) ( (» symsum ( (*n-)^, n,, n ) ) (S=/3*n+8/3-4*(n+)^+4/3*(n+)^3) Processamento Simbólico, Polinómios, Equações e Gráficos Pág. /
Matlab Eercício 0 b) ( n ) (» symsum ( (*n-)^, n,, 0 ) ) ( S = 330 ) c) ( n ) (» symsum ( /(*n-)^, n,, inf ) ) ( S = /8*pi^ ) Limites Para o cálculo de limites de epressões simbólicas usa-se a função limit e podemos usar as seguintes formas: limit (f,, a ) ( retorna o limite de f quando a ) limit (f,, a, right ) ( retorna o limite de f quando a + ) limit (f,, a, left ) ( retorna o limite de f quando a - ). Definir a função» f = sin()/ sen( ) f ( ) :. Calcular o lim f ( ) : 0» limit ( f,, 0 ) ( S = ) 3. Calcular os seguintes limites: a) b) c) lim ( ) lim 0 lim 0 (» limit ( (+/)^,, inf ) ) ( S = ep() ) (» limit ( /,, 0, right ) ) ( S = inf ) (» limit ( /,, 0, left ) ) ( S = -inf ) Derivadas Para a derivação de epressões simbólicas usa-se a função diff e a sua forma geral é a seguinte: diff (f,, n) ( retorna a n-ésima derivada da função f em ordem a ) 3. Definir a função f ( ) a b c :» f = a * ^ 3 + ^ b * - c. Calcular as suas derivadas de ª e ª ordem em relação à variável : d d a) f () d d b) f ( ) 3. A função diff também opera sobre matrizes. (» diff ( f,, ) ) ( S = 3 * a * ^ + * - b ) (» diff ( f,, ) ) ( S = 6 * a * + ) Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 3/
Matlab Eercício a b a) Criar a matriz simbólica M 3 c dy b) Calcular as derivadas de ª ordem dos elementos da matriz M em relação a :» diff ( M,, ) ( S = ) Integrais Para a integração de epressões simbólicas usa-se a função int e podemos usar as seguintes formas: int (f, ) ( retorna o integral indefinido de f em relação à variável ) int (f,, a, b) ( retorna o integral definido de f em relação à variável no intervalo entre a e b ). Definir a função g( ) seno( y) :» g = sin ( * + y ). Calcular os seguintes integrais : a) g ) d ( (» int ( g, ) ) ( S = - / * cos ( * + y ) ) b) g ( y) dy (» int ( g, y, 0, pi ) ) ( S = * cos() ^ + cos( * ) ) 0 Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 4/
Matlab Eercício Simplificação e Formatação de Epressões O Matlab oferece diversas funções para simplificar ou modificar o formato de epressões simbólicas. Para simplificar podemos usar a função simple.. Simplificar o último resultado obtido (ans), usando o seguinte comando:» r = simple( ans ) ( S = * cos ( * ) ) 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 epressão simbólica podemos usar as seguintes funções: epand( p ) ( epande 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 ). Definir a função p ( ) ( )( )( 3) :» p = ( ^ ) * ( ) * ( 3 ) 3. Determinar uma epressão equivalente de p, desenvolvendo os produtos :» epand( p ) ( S = ^ 4 5 * ^ 3 + 5 * ^ + 5 * - 6 ) 4. Determinar uma epressão equivalente de p, decompondo a epressão num produto de polinómios:» factor( ans ) ( S = ( ) * ( ) * ( 3 ) * ( + ) ) 5. Definir a epressão g ( ) 4 3 5 :» g = 4 * ^ * + ^ 3 * + 5 Nota: Reparar que o Matlab guarda a epressão simplificada ( g ( ) 5 5 4 ), agrupando os termos de do mesmo grau. 6. Definir a epressão p( ) y 5y y» p = * + * y + 5 * y + y ^ + 7. Determinar a epressão equivalente de p, agrupando os termos de do mesmo grau:» collect ( p ) ( S = ( y + ) * + + 5 * y + y ^ ) 8. Determinar a epressão equivalente de p, agrupando os termos de y do mesmo grau:» collect ( p, y ) ( S = y ^ + ( + 5 ) * y + * + ) 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/
Matlab Eercício 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 epressõ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 epressõ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 ). Converter o seguinte valor numérico ( 5) / numa constante simbólica :» c = sym ( ( + sqrt(5))/ ) Nota: Reparar que a variável simbólica c guarda a epressão e não o seu resultado, como acontece no processamento numérico.. Converter a constante simbólica c no seu valor numérico:» double(c) ( S =.680 ) 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óima alfabeticamente de ). Definir o polinómio p 3 :» p = ^ + * - 3. Determinar as raízes do polinómio p:» solve( p ) ( S = ( -3, ) ) 3. Definir o polinómio p a b :» p = ^ + a * - b 4. Determinar as raízes do polinómio p:» solve( p ) ( S = ( ) ) Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 6/
Matlab Eercício 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.. Criar a variável simbólica e para representar a equação 3 5 :» e = sym ( * + sqrt(3) = 5 ) Nota: É usada esta função sym por causa do sinal = da equação.. Resolver a equação :» solve( e ) ( S = - / * 3 ^ ( / ) + 5 / ) A função solve também pode ser usada no seguinte formato: Resolução de um Sistema de Equação Lineares Possível e Determinado S = solve ( e, e,..., en ) ( determina a solução do sistema de n equações (e, e,..., en) em função das variáveis-padrão independentes (, y,...) e guarda-a na variável S do tipo registo ou estrutura ). Criar as variáveis simbólicas (e, e) para representarem as equações do seguinte sistema y y» e = sym ( + y = )» e = sym ( - y = ). Resolver o sistema de equações:» S = solve( e, e ) (S é uma estrutura que guarda as variáveis e y ) 3. Determinar as soluções de e y:» S. ( S = 3 / )» S.y ( S = / ) 4. Criar as variáveis simbólicas (e3, e4) para representarem as equações do seguinte sistema de equações lineares: a by c dy 5. Resolver o sistema de equações:» S = solve( e3, e4 ) 6. Determinar as soluções de e y:» S. ( S = ( b + * d ) / ( a * d + b * c ) )» S.y (S= - ( a * c ) / ( a * d + b * c ) ) Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 7/
Matlab Eercício 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): a by z y 3z c ( S. = -( * z 3 * z * b + c * b ) / ( * a b ) ) ( S.y = ( -3 * a * z + a * c + z ) / ( * 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): y y 3 5 5y 5 ( S. = - ) ( S.y = ) 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 epressão simbólica ou de vectores de dados. Dados definidos por epressões simbólicas: Usamos a função ezplot no seguinte formato: ezplot ( f, a, b ) ( cria gráfico de f=f() no intervalo a < < b ). Criar um gráfico de linhas bidimensional da função seno no intervalo - < < :» ezplot( sin(), -*pi, *pi ) ( cria gráfico numa janela de figuras ). 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/
Matlab Eercício Podemos adicionar novas curvas ao gráfico eistente, usando o comando hold. Depois de eecutado o comando hold on, o Matlab adiciona as novas curvas ao gráfico eistente. Se os novos dados não se ajustarem aos limites actuais dos eios, 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 eistente.» hold on 5. Criar a curva da função coseno no intervalo - < < :» ezplot( cos(), -*pi, *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 < < :» ezplot( sin(), 0, *pi ) 0. Guardar o gráfico na sua pasta pessoal. Processamento Simbólico, Polinómios, Equações e Gráficos Pág. 9/
Matlab Eercício Dados definidos por vectores: Usamos a função plot nos seguintes formatos: plot (, y ) ( cria gráfico y() no intervalo min < < ma ) plot (, y,, y,..., n, y n ) ( cria gráfico com múltiplas curvas: y ( ), y ( ),..., y n( n) ) Notas: Os pares de vectores de dados (, 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() no intervalo - < <.. Criar os vectores de dados e y, com 30 elementos:» = linspace ( 0, *pi, 30 )» y = sin ( ). Criar o gráfico y():» plot (, y ) 3. Guardar o gráfico na sua pasta pessoal. Vamos agora criar um gráfico com duas curvas, seno() e cos(), no intervalo - < < :. Criar o vector, com 0 elementos:» = linspace ( -*pi, *pi, 0 ). Criar o vector y, com 0 elementos:» y = cos ( ) 3. Criar o gráfico:» plot (, y,, y ) 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. 0/
Matlab Eercício. Criar a variável simbólica E para representar a equação: 5 ln( ) 3. Determinar a solução da equação da alínea anterior. ( S = ep(/*3^(/5)+) ) f ( y) ln( y) 3. Definir a variável F para representar a função y e 4. Determinar o valor de f (5) 5. Definir a variável G para representar a função g( z) 4z cos( z) ( S = 3.799 ) 6. Calcular: n a) n ( 5) lim b) ( ) cos( ) c) lim ( ) 0 d d) g( z) dz e) g ( z) dz f) tg ( ) d ( S = ^ ( n + ) + 5 * n - ) ( S = 0 ) ( S = inf ) ( S = 8 - cos( z ) ) ( S = 4 / 3 * z ^ 3 + sin( z ) ) ( S = 0 ) 7. Simplificar a epressão: cos ( ) sen ( ) ( S = ) 8. Desenvolver os produtos da epressão: ( )( ) ( S = ^ - ) 9. Decompor a epressão num produto de polinómios: ( ) ( S = ( ) * ( + ) ) 0. Simplificar a epressão agrupando os termos de y do mesmo grau: y 4y y 5 ( S = 4 * y ^ + ( * + ^ ) * y + 5 ). Definir a constante simbólica C como representante da epressão numérica: ln( 4). Determinar o valor numérico da constante simbólica C da alínea anterior. ( S = -0.637 ) 3. Determinar as raízes do polinómio: p( ) a a ( S = (, -a ) ) 4. Resolver o seguinte sistema de equações: 3 ay y 5 ( S. = ( - + 5 * a ) / ( -3 + a ) ) ( S.y = 4 / ( -3 + a ) ) 5. Criar um gráfico de linhas bidimensional para representar as funções ( ) 3 intervalo 0,0. O gráfico deve apresentar a seguinte formatação: f e ( ) 4 g no Processamento Simbólico, Polinómios, Equações e Gráficos Pág. /
Matlab Eercício Processamento Simbólico, Polinómios, Equações e Gráficos Pág. /