Avançar para o conteúdo principal

Conversão de ângulos e erro computacional.

Conversão de ângulos e erro computacional.


Como é sabido os computadores pelo seu modo de cálculo interno acumulam erros.

No caso de um programa que estou a desenvolver, é necessário converter ângulos entre diversos sistemas, em particular entre o sistema sexagesimal e o centesimal para graus.


Como dados de partida, os ângulos:

A = 60º 12'21.5"

B = 70º 35'51.7"


A conversão para centesimais feita pela linguagem de programação e por uma calculadora de bolso mostra-se a seguir:


A = 60.20603º   60.20597º

B = 70.59784º   70.59769º


Pode-se verificar que para o ângulo A, o valor obtido pela linguagem de programação é superior em 0.00006 graus. Já para o ângulo B o valor obtido pela linguagem de programação é superior em 0.00015 .


Podemos pensar que são diferenças muito pequenas, mas se tomarmos como exercício, o cálculo de um desvio em XX (por exemplo para Topografia), em que se medir uma distância de 1000 metros, o desvio deste ângulo A é de 1 mm, já o do ângulo B é de 2.6 mm. Ok continua a ser praticamente desprezável o erro de cálculo face por exemplo ao erro de observação.


E se em vez de Topografia considerarmos a disciplina de Astrofísica?


E se continuarmos na linguagem de programação com cálculos em cima de resultados assim obtidos... podemos imaginar que a magnitude deste erro aumenta.


Como resolver? Recorrendo se necessário a estratégias de cálculo, e/ou a linguagens de programação ou bibliotecas que permitam trabalhar com precisões de cálculo superiores.


Para o dia a dia, o que podemos esperar numa linguagem de programação é o suficiente em precisão, no entanto, atenção, se compararmos


if (60.20603 == 60.20597) obtemos um FALSE que para uma análise humana seria TRUE.

Comentários

Enviar um comentário

Obrigado pelo seu contacto.

Mensagens populares deste blogue

C# - Viadutos Excel - ISPOL

C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Politica de privacidade das aplicações colocadas na Play Store do Google

Politica de privacidade das aplicações colocadas na Play Store do Google. As aplicações não recolhem qualquer dado do utilizador nem a armazenam ou partilham com terceiros. Não recolhem a localização nem a armazenam ou partilham com terceiros. Alguma informação sobre os utilizadores que possa chegar ao programador por via da Play Store, será tratada de acordo com toda a confidencialidade, e não fornecida a terceiros. Obrigado.