SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
2010
Aritmética de máquina




            FATEC-JAHU
            Fatec-Jahu/CEETEPS
            20/07/2010
Aritmética de máquina

             FATEC-JAHU, Fatec-Jahu/CEETEPS



Resumo

A aritmética de maquina visa a mostrar os possíveis problemas encontradas devido as limitações da máquina.



                                                                              Conteúdo
Resumo ....................................................................................................................................................................................... 2
Capítulo 1 Introdução .................................................................................................................................................................. 3
1.1 Valores exatos e aproximados ............................................................................................................................................... 3
1.2 Dígitos significativos .............................................................................................................................................................. 5
1.3 Truncando o número ............................................................................................................................................................. 5
1.4 Arredondamento ................................................................................................................................................................... 5
1.5 Erros ..................................................................................................................................................................................... 6
1.6 Precisão da máquina ............................................................................................................................................................. 7
1.7 Instabilidade ......................................................................................................................................................................... 7
Índice Remissivo .......................................................................................................................................................................... 9
Capítulo 1 Introdução
A resolução de problemas feito em máquinas ou computadores pode apresentar comportamentos surpreendentes, devido às
limitações existentes na fabricação. Como exemplo considere as seguintes operações

                                              1
                                          h
                                               2
                                          x  2 / 3 h
                                          y  3/5h
                                          e  ( x  x  x)  h
                                          f  ( y  y  y  y  y)  h
                                          g  f /e

Realizando estas operações no Excel temos os seguintes resultados

0,5                  0,166667             0,1                       0                     0                #DIV/0!

No programa Scilab a entrada de dados é feita normalmente, ou seja, Variável = valor. Se colocar ponto e vírgula no final, a
expressão não é impressa no console enquanto sem o ponto vírgula aparece o resultado.




                                          Figura 1. Formas para se atribuir valor à variável.

             Exercício 1. Realize as seguintes operações: h=1/2, x=2/3-h, y=3/5-h, e1=3*x-h, f=5*y-h e g=e1/f.


Analiticamente temos para o dados do exercício 1 os seguintes valores

                                                  1
                                             h
                                                  2
                                                                   43 1
                                              x  2 / 3 1 / 2       
                                                                    6   6
                                                                               65 1
                                              y  3 / 5  h  3 / 5 1 / 2        
                                                                                10   10
                                                                    3 1
                                             e  ( x  x  x)  h    0
                                                                    6 2
                                                                             5 1
                                              f  ( y  y  y  y  y)  h    0
                                                                            10 2
                                              g  f / e  indefinido

Perceba a diferença de comportamento. Isto será discutido mais adiante.



1.1Valores exatos e aproximados
Consideremos um problema cuja solução é um número real. Este número é designado por valor exato do problema e, no que se
segue, será representado por x.
Designa-se por valor aproximado e representa-se por x*, qualquer valor que se pretende utilizar como solução do problema.
Associado a um dado valor aproximado x* define-se o erro de aproximação como a diferença entre o valor exato e o valor
aproximado, isto é,

                                                   x*  x  x *

       Exemplo 1.O comando PI no Scilab é %pi. Encontre este valor. Suponha que uma solução real seja 3,14159265359.
       Determine o erro.

Solução: O painel fica




                                                          Figura 2.Exemplo 1.

O valor absoluto do erro é x * . O comando de módulo para um número é ABS(valor).

       Exemplo 2.Calcule o erro absoluto.

Em geral este valor não é conhecido. Assim, a situação mais comum é aquela em que se conhece um determinado valor
aproximado x* e um intervalo para o erro de aproximação Δx*. Às vezes é empregado o erro máximo absoluto ε. Então, se x* for
um valor aproximado de x com um erro máximo absoluto ε, verifica-se que x ∈ [x∗ − ε, x∗ + ε], ou seja, x  x *  .

Ao escrever-se x = 1.23±0.02, pretende dizer-se que 1.23 é uma aproximação de x com um erro máximo absoluto de 0.02, ou
seja, isto significa que x estará no intervalo [1.21, 1.25]. Outra forma de caracterizar uma aproximação x* é através do erro
relativo, que se define por

                                                        x *
                                                         x

ou erro relativo aproximado

                                                        x *
                                                         x*

Definimos erro máximo relativo como sendo

                                                         '
                                                         x

na qual ε representa o erro máximo absoluto. Podemos em alguns casos usar a aproximação

                                                        '
                                                        x*


       Exemplo 3.Qual o significado do valor 1, 25  0,05 ? Isto significa que x está no intervalo 1, 2  x  1,3 .

Em geral os erros máximos ou relativos se apresentam com um número reduzido de casas decimais, em torno de duas.
Exemplo 4.Seja x*=3,45 e   0,01 . Determine  ' . Assim

                                                        0, 01
                                                 '           3 103
                                                        3, 45



1.2Dígitos significativos
Um número real x é representado na forma decimal (base 10) pelo seu sinal (+ ou -) e por uma seqüência finita ou não de
algarismos posicionada relativamente à vírgula ou ponto. Estes são os dígitos significativos.

                                           x = ±dn dn1      d1d0 .d 1d 2 d 3

Uma forma compacta de expressar o digito é

                                        x = ±dn d n1     d1d0 .d 1d 2 d 3      ×10e

Os d’s são conhecidos por mantissa enquanto e é o expoente.



1.3Truncando o número
Truncar um número é escrever o mesmo com um número menor de algarismos que está inicialmente apresentado. Por exemplo o
número 1,23456789 se é truncado com 6 algarismos significativos fica 1,23456. No Scilab o comando é
msprintf('%valor1.valor2f',número a ser truncado) na qual valor 1 é a quantidade de algarismos no lado esquerdo da vírgula e
valor 2 a quantidade de dígitos depois da vírgula.

       Exemplo 5. Truncar o valor de PI para 5, 6 e 7 casas decimais

Solução: Obtemos os seguintes valores

-->msprintf('%3.5f',%pi)

ans = 3.14159

-->msprintf('%3.6f',%pi)

ans = 3.141593

-->msprintf('%3.7f',%pi)

ans = 3.1415927

                                                                     
               Exercício 2.Calcule para 6, 7 e 8 os valores de          .
                                                                     23



1.4Arredondamento
Arredondamento é a aproximação de um número para um número de ponto flutuante e pode ser feita de maneiras diversas.
Existem os arredondamentos para cima, para baixo ou para o número de máquina mais próximo. Seguem os seguintes
comandos no Scilab, válido para inteiros:

                Arredonda para o menor inteiro – Fix(valor); por exemplo: fix(3.5), ans = 3.000D+00;

                Para o inteiro mais próximo – Round; por exemplo: round(3.5), ans = 4.000D+00;

                Arredondamento para o inteiro menor ou igual ao número; por exemplo: floor(3.5), ans = 3.000D+00;
     arredonda o número para o inteiro maior ou igual ao número; por exemplo:ceil(3.5), ans = 4.000D+00

Existe outro tipo de arredondamento que segue as regras:

                   se valor é menor que 5, o algarismo anterior se mantém;

                   se valor é maior ou igual a 5, o algarismo anterior é elevado em mais uma unidade.

O comando para Scilab é sprintf('%valor1.valor2f',valor)

         Exemplo 6. Considere o valor de PI e vejas os seus valores para 3, 4, 5 e 6 algarismos após a vírgula.

Solução: -->sprintf('%3.3f',%pi) ans = 3.142

-->sprintf('%3.4f',%pi) ans = 3.1416

-->sprintf('%3.5f',%pi) ans = 3.14159

-->sprintf('%3.6f',%pi) ans = 3.141593

                                                       6
                  Exercício 3.. Calcule a expressão        para 5, 6, 7 e 8 dígitos.
                                                       


1.5Erros
Existem vários tipos de erros mas iremos nos concentrar em apenas três: os inerentes, os de discretização e os de
arredondamento. Os inerentes aparecem na criação ou simplificação do modelo matemático.

         Exemplo 7. Considere que a solução do modelo seja sin x cos x  0, 2 . Podemos imaginar que a solução seja próxima de
         zero e que nesta região a função cos não varia muito, pois é quase 1. Logo o modelo se reduz a sin x  0, 2 cuja solução é
          x  a sin(0, 2)  11,53º . O comando no Scilab é asin se quer o ângulo em radianos ou asind se em graus. Obtemos então

                                                                  1
         asind(0.2) ans = 11.54. Contudo sabemos que sin x cos x  sin(2 x) . Logo a solução é 1/2*asind(2*0.2)
                                                                  2

          ans = 11.79. O erro desta aproximação é 0,25º ou em radianos 0,004.

Os erros de discretização ou de truncamento são erros cometidos quando se troca o processo infinito por um processo finito ou
discreto.

         Exemplo 8. A constante e pode ser obtida por meio da relação

                                                               
                                                                  1
                                                          e
                                                              n0 n!


                                                                                                         1
         Para obtermos estes valores vamos precisar dos seguintes comandos do Scilab: factorial(valor) . A soma em um
         loop(laço) é feito usando o comando

          For variável=valor inicial:valor final2

         Comandos


1
    Convém lembra que para n>9, o resultado aparece ******, mas para visualizar o valor usar sprintf
2
    Aqui é assumido incremento igual a 1.
End

       As instruções são escritas no editor do Scilab, devendo o arquivo ser salvo. Para rodar clique em execute e load into Scilab.
       Fazendo para 10 iterações temos




                                              Figura 3. Código do exemplo 8 para 10 iterações.

h=2,718.

             Exercício 4. Calcule para 30 iterações, apresentando o resultado com 10 casas decimais.


Voltando ao assunto do erro de discretização vamos comparar com o valor da constante e. No Scilab esta constante é %e.

             Exercício 5. Usando 10 casas decimais, calcule a diferença entre esta constante e o valor encontrado em 10
       iterações e em 30 iterações.


Erros de arredondamento surgem em máquinas digitais para representar números reais.



1.6Precisão da máquina
O seguinte programa permite identificar a precisão da máquina. O comando while(condição),comandos;end faz um loop até que
a condição seja satisfeita.

                 Algorítmo 1. Algoritmo para verificar precisão da máquina:

                      eps=1;

                      while eps+1>1, eps=0.5*eps; end

                      sprintf('%3.20f',eps)

Existe uma instrução pré-definida do Scilab que permite encontrar a precisão da máquina - %eps.

             Exercício 6. Encontre a precisão da máquina.



1.7Instabilidade
Existe uma situação importante nos cálculos é verificar a estabilidade dos resultados.

                                                                           
                                                                               xn
       Exemplo 9. Imagine que desejamos calcular a expressão e x                usando 10 iterações.Para x=1 temos o seguinte
                                                                          n 0 n!

       código

                 Algorítmo 2. Algoritmo e

                      h=0;
x=1;

                     for n=0:10

                      h=h+x^n/factorial(n);

                      end

                     sprintf('%3.10f',h)

      O resultado é 2.7182818011 cujo erro é bem pequeno. Para isto escreva sprintf('%3.10f',(2.7182818011-%e)/%e) cujo
      resultado é -0.0000000101, ou seja o erro é muito pequeno pois ocorre na oitava casa decimal.

Para x= -5.5, temos 0.4872310519 dando um erro de mais de 100%. Isto ocorre por causa de subtração de grandezas quase
iguais e soma de grandezas de diferentes ordens. Este efeito é chamado cancelamento subtrativo ou cancelamento catastrófico.

            Exercício 7. As raízes da equação de segundo grau são dadas pela expressão


                                                   b  b 2  4ac
                                              x
                                                        2a

            Se a=1, b= 105 e c=1, calcule as raízes. O comando Scilab para raiz quadrada é sqrt(valor).
Índice Remissivo
%e, 7

%pi, 4

ABS, 4

Arredondamento, 5

asin, 6

asind, 6

ceil, 6

dígitos significativos, 5

end, 7

erro de aproximação, 4

estabilidade dos resultados, 7

expoente, 5

factorial, 6

fix, 5

floor, 5

For, 6

mantissa, 5

msprintf, 5

precisão da máquina, 7

round, 5

sprintf, 6

sqrt, 8

tipos de erros, 6

Truncar, 5

valor absoluto, 4

valor aproximado, 4

valor exato, 3

while, 7

Mais conteúdo relacionado

Mais procurados

Probabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasProbabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasLucas Vinícius
 
Lista de exercícios 5 - Cálculo
Lista de exercícios 5 - CálculoLista de exercícios 5 - Cálculo
Lista de exercícios 5 - CálculoCarlos Campani
 
Aula 8 variáveis aleatória contínua - parte 1
Aula 8   variáveis aleatória contínua - parte 1Aula 8   variáveis aleatória contínua - parte 1
Aula 8 variáveis aleatória contínua - parte 1Ariel Rennó Chaves
 
Lista de exercícios 11
Lista de exercícios 11Lista de exercícios 11
Lista de exercícios 11Carlos Campani
 
Funções e suas propriedades analíticas
Funções e suas propriedades analíticasFunções e suas propriedades analíticas
Funções e suas propriedades analíticasCarlos Campani
 
PROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕESPROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕESCarlos Campani
 
Funções, suas propriedades e gráfico
Funções, suas propriedades e gráficoFunções, suas propriedades e gráfico
Funções, suas propriedades e gráficoCarlos Campani
 
Lista de exercícios 8 - Mat Elem
Lista de exercícios 8 - Mat ElemLista de exercícios 8 - Mat Elem
Lista de exercícios 8 - Mat ElemCarlos Campani
 
Rodrigo de lima (uff) edo - parte 1edo
Rodrigo de lima (uff)   edo - parte 1edoRodrigo de lima (uff)   edo - parte 1edo
Rodrigo de lima (uff) edo - parte 1edoNaldo Martins
 
Equações literais
Equações literaisEquações literais
Equações literaisaldaalves
 
Revisão de polinômios
Revisão de polinômiosRevisão de polinômios
Revisão de polinômiosmatheuslw
 
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...Carlos Campani
 
Assintotas e Descontinuidades
Assintotas e DescontinuidadesAssintotas e Descontinuidades
Assintotas e DescontinuidadesCarlos Campani
 
Lista de exercícios 3 - Cálculo
Lista de exercícios 3 - CálculoLista de exercícios 3 - Cálculo
Lista de exercícios 3 - CálculoCarlos Campani
 

Mais procurados (20)

Probabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasProbabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis Aleatórias
 
Lista de exercícios 5 - Cálculo
Lista de exercícios 5 - CálculoLista de exercícios 5 - Cálculo
Lista de exercícios 5 - Cálculo
 
4 max-min
4 max-min4 max-min
4 max-min
 
4 max-min
4 max-min4 max-min
4 max-min
 
Polinomios
PolinomiosPolinomios
Polinomios
 
Aula 8 variáveis aleatória contínua - parte 1
Aula 8   variáveis aleatória contínua - parte 1Aula 8   variáveis aleatória contínua - parte 1
Aula 8 variáveis aleatória contínua - parte 1
 
Mat64a
Mat64aMat64a
Mat64a
 
Lista de exercícios 11
Lista de exercícios 11Lista de exercícios 11
Lista de exercícios 11
 
Funções e suas propriedades analíticas
Funções e suas propriedades analíticasFunções e suas propriedades analíticas
Funções e suas propriedades analíticas
 
PROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕESPROPRIEDADES DAS FUNÇÕES
PROPRIEDADES DAS FUNÇÕES
 
Aula 11 estimação
Aula 11   estimaçãoAula 11   estimação
Aula 11 estimação
 
Funções, suas propriedades e gráfico
Funções, suas propriedades e gráficoFunções, suas propriedades e gráfico
Funções, suas propriedades e gráfico
 
Aula 14 new
Aula 14 newAula 14 new
Aula 14 new
 
Lista de exercícios 8 - Mat Elem
Lista de exercícios 8 - Mat ElemLista de exercícios 8 - Mat Elem
Lista de exercícios 8 - Mat Elem
 
Rodrigo de lima (uff) edo - parte 1edo
Rodrigo de lima (uff)   edo - parte 1edoRodrigo de lima (uff)   edo - parte 1edo
Rodrigo de lima (uff) edo - parte 1edo
 
Equações literais
Equações literaisEquações literais
Equações literais
 
Revisão de polinômios
Revisão de polinômiosRevisão de polinômios
Revisão de polinômios
 
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
Álgebra básica, potenciação, notação científica, radiciação, polinômios, fato...
 
Assintotas e Descontinuidades
Assintotas e DescontinuidadesAssintotas e Descontinuidades
Assintotas e Descontinuidades
 
Lista de exercícios 3 - Cálculo
Lista de exercícios 3 - CálculoLista de exercícios 3 - Cálculo
Lista de exercícios 3 - Cálculo
 

Semelhante a Aritmética de máquina

625639 a-teoria-dos-limites-calculo
625639 a-teoria-dos-limites-calculo625639 a-teoria-dos-limites-calculo
625639 a-teoria-dos-limites-calculoMarcos Lira
 
Funcao modular
Funcao modularFuncao modular
Funcao modularcon_seguir
 
Monica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 Gujarati
Monica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 GujaratiMonica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 Gujarati
Monica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 GujaratiMonica Barros
 
matematica e midias
matematica e midiasmatematica e midias
matematica e midiasiraciva
 
Trabalho individual objetos de aprendizagem
Trabalho individual objetos de aprendizagemTrabalho individual objetos de aprendizagem
Trabalho individual objetos de aprendizagemEdson Júnio
 
Apostila: Introdução a Limite, Derivada e Integral
Apostila: Introdução a Limite, Derivada e IntegralApostila: Introdução a Limite, Derivada e Integral
Apostila: Introdução a Limite, Derivada e IntegralMaria Teresa Thomaz
 
Apostila 3 calculo i integrais
Apostila 3 calculo i integraisApostila 3 calculo i integrais
Apostila 3 calculo i integraistrigono_metrico
 
inequacoes_do_1o_grau 6a série ou 5° ano
inequacoes_do_1o_grau 6a série ou 5° anoinequacoes_do_1o_grau 6a série ou 5° ano
inequacoes_do_1o_grau 6a série ou 5° anoamulherdarosa
 
Lista de exercícios 4 - Cálculo
Lista de exercícios 4 - CálculoLista de exercícios 4 - Cálculo
Lista de exercícios 4 - CálculoCarlos Campani
 
Apostila 2 calculo i derivadas
Apostila 2 calculo i derivadasApostila 2 calculo i derivadas
Apostila 2 calculo i derivadastrigono_metrico
 
Aula 1 integrais du e tr c_po_cci_ces
Aula 1  integrais du e tr c_po_cci_cesAula 1  integrais du e tr c_po_cci_ces
Aula 1 integrais du e tr c_po_cci_cesGabriela Di Mateos
 

Semelhante a Aritmética de máquina (20)

625639 a-teoria-dos-limites-calculo
625639 a-teoria-dos-limites-calculo625639 a-teoria-dos-limites-calculo
625639 a-teoria-dos-limites-calculo
 
Trabalho de mat.pptx
Trabalho de mat.pptxTrabalho de mat.pptx
Trabalho de mat.pptx
 
CUSC.pptx
CUSC.pptxCUSC.pptx
CUSC.pptx
 
Funcao modular
Funcao modularFuncao modular
Funcao modular
 
1 ano função afim
1 ano   função afim1 ano   função afim
1 ano função afim
 
Cursocalc1ead
Cursocalc1eadCursocalc1ead
Cursocalc1ead
 
Monica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 Gujarati
Monica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 GujaratiMonica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 Gujarati
Monica Barros - Econometria - ENCE - 2010 - Resumo Capitulo 7 Gujarati
 
matematica e midias
matematica e midiasmatematica e midias
matematica e midias
 
Cálculo usando MatLab
Cálculo usando MatLabCálculo usando MatLab
Cálculo usando MatLab
 
Trabalho individual objetos de aprendizagem
Trabalho individual objetos de aprendizagemTrabalho individual objetos de aprendizagem
Trabalho individual objetos de aprendizagem
 
Matematica 2015
Matematica 2015Matematica 2015
Matematica 2015
 
Apostila: Introdução a Limite, Derivada e Integral
Apostila: Introdução a Limite, Derivada e IntegralApostila: Introdução a Limite, Derivada e Integral
Apostila: Introdução a Limite, Derivada e Integral
 
Apostila 3 calculo i integrais
Apostila 3 calculo i integraisApostila 3 calculo i integrais
Apostila 3 calculo i integrais
 
Calculo d edo_1
Calculo d edo_1Calculo d edo_1
Calculo d edo_1
 
inequacoes_do_1o_grau 6a série ou 5° ano
inequacoes_do_1o_grau 6a série ou 5° anoinequacoes_do_1o_grau 6a série ou 5° ano
inequacoes_do_1o_grau 6a série ou 5° ano
 
Lista de exercícios 4 - Cálculo
Lista de exercícios 4 - CálculoLista de exercícios 4 - Cálculo
Lista de exercícios 4 - Cálculo
 
Equaçoes literais
Equaçoes literaisEquaçoes literais
Equaçoes literais
 
Apostila 2 calculo i derivadas
Apostila 2 calculo i derivadasApostila 2 calculo i derivadas
Apostila 2 calculo i derivadas
 
Calculo numerico
Calculo numerico Calculo numerico
Calculo numerico
 
Aula 1 integrais du e tr c_po_cci_ces
Aula 1  integrais du e tr c_po_cci_cesAula 1  integrais du e tr c_po_cci_ces
Aula 1 integrais du e tr c_po_cci_ces
 

Aritmética de máquina

  • 1. 2010 Aritmética de máquina FATEC-JAHU Fatec-Jahu/CEETEPS 20/07/2010
  • 2. Aritmética de máquina FATEC-JAHU, Fatec-Jahu/CEETEPS Resumo A aritmética de maquina visa a mostrar os possíveis problemas encontradas devido as limitações da máquina. Conteúdo Resumo ....................................................................................................................................................................................... 2 Capítulo 1 Introdução .................................................................................................................................................................. 3 1.1 Valores exatos e aproximados ............................................................................................................................................... 3 1.2 Dígitos significativos .............................................................................................................................................................. 5 1.3 Truncando o número ............................................................................................................................................................. 5 1.4 Arredondamento ................................................................................................................................................................... 5 1.5 Erros ..................................................................................................................................................................................... 6 1.6 Precisão da máquina ............................................................................................................................................................. 7 1.7 Instabilidade ......................................................................................................................................................................... 7 Índice Remissivo .......................................................................................................................................................................... 9
  • 3. Capítulo 1 Introdução A resolução de problemas feito em máquinas ou computadores pode apresentar comportamentos surpreendentes, devido às limitações existentes na fabricação. Como exemplo considere as seguintes operações 1 h 2 x  2 / 3 h y  3/5h e  ( x  x  x)  h f  ( y  y  y  y  y)  h g  f /e Realizando estas operações no Excel temos os seguintes resultados 0,5 0,166667 0,1 0 0 #DIV/0! No programa Scilab a entrada de dados é feita normalmente, ou seja, Variável = valor. Se colocar ponto e vírgula no final, a expressão não é impressa no console enquanto sem o ponto vírgula aparece o resultado. Figura 1. Formas para se atribuir valor à variável. Exercício 1. Realize as seguintes operações: h=1/2, x=2/3-h, y=3/5-h, e1=3*x-h, f=5*y-h e g=e1/f. Analiticamente temos para o dados do exercício 1 os seguintes valores 1 h 2 43 1 x  2 / 3 1 / 2   6 6 65 1 y  3 / 5  h  3 / 5 1 / 2   10 10 3 1 e  ( x  x  x)  h   0 6 2 5 1 f  ( y  y  y  y  y)  h    0 10 2 g  f / e  indefinido Perceba a diferença de comportamento. Isto será discutido mais adiante. 1.1Valores exatos e aproximados Consideremos um problema cuja solução é um número real. Este número é designado por valor exato do problema e, no que se segue, será representado por x.
  • 4. Designa-se por valor aproximado e representa-se por x*, qualquer valor que se pretende utilizar como solução do problema. Associado a um dado valor aproximado x* define-se o erro de aproximação como a diferença entre o valor exato e o valor aproximado, isto é, x*  x  x * Exemplo 1.O comando PI no Scilab é %pi. Encontre este valor. Suponha que uma solução real seja 3,14159265359. Determine o erro. Solução: O painel fica Figura 2.Exemplo 1. O valor absoluto do erro é x * . O comando de módulo para um número é ABS(valor). Exemplo 2.Calcule o erro absoluto. Em geral este valor não é conhecido. Assim, a situação mais comum é aquela em que se conhece um determinado valor aproximado x* e um intervalo para o erro de aproximação Δx*. Às vezes é empregado o erro máximo absoluto ε. Então, se x* for um valor aproximado de x com um erro máximo absoluto ε, verifica-se que x ∈ [x∗ − ε, x∗ + ε], ou seja, x  x *  . Ao escrever-se x = 1.23±0.02, pretende dizer-se que 1.23 é uma aproximação de x com um erro máximo absoluto de 0.02, ou seja, isto significa que x estará no intervalo [1.21, 1.25]. Outra forma de caracterizar uma aproximação x* é através do erro relativo, que se define por x * x ou erro relativo aproximado x * x* Definimos erro máximo relativo como sendo ' x na qual ε representa o erro máximo absoluto. Podemos em alguns casos usar a aproximação ' x* Exemplo 3.Qual o significado do valor 1, 25  0,05 ? Isto significa que x está no intervalo 1, 2  x  1,3 . Em geral os erros máximos ou relativos se apresentam com um número reduzido de casas decimais, em torno de duas.
  • 5. Exemplo 4.Seja x*=3,45 e   0,01 . Determine  ' . Assim 0, 01 '  3 103 3, 45 1.2Dígitos significativos Um número real x é representado na forma decimal (base 10) pelo seu sinal (+ ou -) e por uma seqüência finita ou não de algarismos posicionada relativamente à vírgula ou ponto. Estes são os dígitos significativos. x = ±dn dn1 d1d0 .d 1d 2 d 3 Uma forma compacta de expressar o digito é x = ±dn d n1 d1d0 .d 1d 2 d 3 ×10e Os d’s são conhecidos por mantissa enquanto e é o expoente. 1.3Truncando o número Truncar um número é escrever o mesmo com um número menor de algarismos que está inicialmente apresentado. Por exemplo o número 1,23456789 se é truncado com 6 algarismos significativos fica 1,23456. No Scilab o comando é msprintf('%valor1.valor2f',número a ser truncado) na qual valor 1 é a quantidade de algarismos no lado esquerdo da vírgula e valor 2 a quantidade de dígitos depois da vírgula. Exemplo 5. Truncar o valor de PI para 5, 6 e 7 casas decimais Solução: Obtemos os seguintes valores -->msprintf('%3.5f',%pi) ans = 3.14159 -->msprintf('%3.6f',%pi) ans = 3.141593 -->msprintf('%3.7f',%pi) ans = 3.1415927  Exercício 2.Calcule para 6, 7 e 8 os valores de . 23 1.4Arredondamento Arredondamento é a aproximação de um número para um número de ponto flutuante e pode ser feita de maneiras diversas. Existem os arredondamentos para cima, para baixo ou para o número de máquina mais próximo. Seguem os seguintes comandos no Scilab, válido para inteiros:  Arredonda para o menor inteiro – Fix(valor); por exemplo: fix(3.5), ans = 3.000D+00;  Para o inteiro mais próximo – Round; por exemplo: round(3.5), ans = 4.000D+00;  Arredondamento para o inteiro menor ou igual ao número; por exemplo: floor(3.5), ans = 3.000D+00;
  • 6. arredonda o número para o inteiro maior ou igual ao número; por exemplo:ceil(3.5), ans = 4.000D+00 Existe outro tipo de arredondamento que segue as regras:  se valor é menor que 5, o algarismo anterior se mantém;  se valor é maior ou igual a 5, o algarismo anterior é elevado em mais uma unidade. O comando para Scilab é sprintf('%valor1.valor2f',valor) Exemplo 6. Considere o valor de PI e vejas os seus valores para 3, 4, 5 e 6 algarismos após a vírgula. Solução: -->sprintf('%3.3f',%pi) ans = 3.142 -->sprintf('%3.4f',%pi) ans = 3.1416 -->sprintf('%3.5f',%pi) ans = 3.14159 -->sprintf('%3.6f',%pi) ans = 3.141593  6 Exercício 3.. Calcule a expressão para 5, 6, 7 e 8 dígitos.  1.5Erros Existem vários tipos de erros mas iremos nos concentrar em apenas três: os inerentes, os de discretização e os de arredondamento. Os inerentes aparecem na criação ou simplificação do modelo matemático. Exemplo 7. Considere que a solução do modelo seja sin x cos x  0, 2 . Podemos imaginar que a solução seja próxima de zero e que nesta região a função cos não varia muito, pois é quase 1. Logo o modelo se reduz a sin x  0, 2 cuja solução é x  a sin(0, 2)  11,53º . O comando no Scilab é asin se quer o ângulo em radianos ou asind se em graus. Obtemos então 1 asind(0.2) ans = 11.54. Contudo sabemos que sin x cos x  sin(2 x) . Logo a solução é 1/2*asind(2*0.2) 2 ans = 11.79. O erro desta aproximação é 0,25º ou em radianos 0,004. Os erros de discretização ou de truncamento são erros cometidos quando se troca o processo infinito por um processo finito ou discreto. Exemplo 8. A constante e pode ser obtida por meio da relação  1 e n0 n! 1 Para obtermos estes valores vamos precisar dos seguintes comandos do Scilab: factorial(valor) . A soma em um loop(laço) é feito usando o comando For variável=valor inicial:valor final2 Comandos 1 Convém lembra que para n>9, o resultado aparece ******, mas para visualizar o valor usar sprintf 2 Aqui é assumido incremento igual a 1.
  • 7. End As instruções são escritas no editor do Scilab, devendo o arquivo ser salvo. Para rodar clique em execute e load into Scilab. Fazendo para 10 iterações temos Figura 3. Código do exemplo 8 para 10 iterações. h=2,718. Exercício 4. Calcule para 30 iterações, apresentando o resultado com 10 casas decimais. Voltando ao assunto do erro de discretização vamos comparar com o valor da constante e. No Scilab esta constante é %e. Exercício 5. Usando 10 casas decimais, calcule a diferença entre esta constante e o valor encontrado em 10 iterações e em 30 iterações. Erros de arredondamento surgem em máquinas digitais para representar números reais. 1.6Precisão da máquina O seguinte programa permite identificar a precisão da máquina. O comando while(condição),comandos;end faz um loop até que a condição seja satisfeita. Algorítmo 1. Algoritmo para verificar precisão da máquina: eps=1; while eps+1>1, eps=0.5*eps; end sprintf('%3.20f',eps) Existe uma instrução pré-definida do Scilab que permite encontrar a precisão da máquina - %eps. Exercício 6. Encontre a precisão da máquina. 1.7Instabilidade Existe uma situação importante nos cálculos é verificar a estabilidade dos resultados.  xn Exemplo 9. Imagine que desejamos calcular a expressão e x   usando 10 iterações.Para x=1 temos o seguinte n 0 n! código Algorítmo 2. Algoritmo e h=0;
  • 8. x=1; for n=0:10 h=h+x^n/factorial(n); end sprintf('%3.10f',h) O resultado é 2.7182818011 cujo erro é bem pequeno. Para isto escreva sprintf('%3.10f',(2.7182818011-%e)/%e) cujo resultado é -0.0000000101, ou seja o erro é muito pequeno pois ocorre na oitava casa decimal. Para x= -5.5, temos 0.4872310519 dando um erro de mais de 100%. Isto ocorre por causa de subtração de grandezas quase iguais e soma de grandezas de diferentes ordens. Este efeito é chamado cancelamento subtrativo ou cancelamento catastrófico. Exercício 7. As raízes da equação de segundo grau são dadas pela expressão b  b 2  4ac x 2a Se a=1, b= 105 e c=1, calcule as raízes. O comando Scilab para raiz quadrada é sqrt(valor).
  • 9. Índice Remissivo %e, 7 %pi, 4 ABS, 4 Arredondamento, 5 asin, 6 asind, 6 ceil, 6 dígitos significativos, 5 end, 7 erro de aproximação, 4 estabilidade dos resultados, 7 expoente, 5 factorial, 6 fix, 5 floor, 5 For, 6 mantissa, 5 msprintf, 5 precisão da máquina, 7 round, 5 sprintf, 6 sqrt, 8 tipos de erros, 6 Truncar, 5 valor absoluto, 4 valor aproximado, 4 valor exato, 3 while, 7