Próximo: , Anterior: , Acima: unit   [Conteúdo][Índice]

70.1, Introdução a Units

O pacote unit torna o utilizador apto a converter entre unidades arbitrárias e trabalhar com dimensões em equações. O funcionamento desse pacote é radicalmente diferente do pacote original units do Maxima - apesar de o original conter uma lista básica de definições, o pacote actual usa um conjunto de regras para permitir ao utilizador escolher, sobre uma base dimensional, qual a resposta fianl de unidade pode ser convertida. Isso irá separar unidades em lugar de misturá-las na tela, permitindo ao utilizador durante a leitura identificar as unidades associadas com uma resposta em particular. Isso permitirá ao utilizador simplificar uma expressão em sua Base fundamental de Unidades, bem como fornecer ajuste fino sobre a simplificação de unidades derivadas. Análise dimensional é possível, e uma variedade de ferramentas está disponível para gerenciar a conversão e também uma variedade de opções de simplificação. Adicionalmente para personalizar conversão automática, units também fornede um manual tradicional de opções de conversão.

Nota -quando conversões de unidade forem não exactas Maxima irá fazer aproximações resultando em frações. Esso é uma concequência das técnicas usadas para simplificar unidades. A mensagem de alerta desse tipo de substituição está desabilitada por padrão no caso de inidades (normalmente essas mensagens estão habilitadas) uma vez que essa situação de iemissão de mensagens de alerta ocorre frequêntemente e os alertas confundem a saída. (O estado actual de ratprint é restabelecido após uma conversão de unidades, de forma que modificações de utilizador para aquela configuração irão ser preservadas de outra forma.) Se o utilizador precisar dessa informação para units, ele pode escolher unitverbose:on para reativar a impressão de mensagens de alerta do processo de conversão.

unit está inclído no Maxima no directório share/contrib/unit directory. Isso segue aos pacotes normais do Maxima conforme convenções:

(%i1) load("unit")$
******************************************************************* 
*                       Units version 0.50                        * 
*          Definitions based on the NIST Reference on             * 
*              Constants, Units, and Uncertainty                  * 
*       Conversion factors from various sources including         * 
*                   NIST and the GNU units package                * 
******************************************************************* 
 
Redefining necessary functions... 
WARNING: DEFUN/DEFMACRO: redefining function TOPLEVEL-MACSYMA-EVAL ...
WARNING: DEFUN/DEFMACRO: redefining function MSETCHK ...
WARNING: DEFUN/DEFMACRO: redefining function KILL1 ...
WARNING: DEFUN/DEFMACRO: redefining function NFORMAT ...
Initializing unit arrays... 
Done.

As mensagens WARNING (DE ALERTA) são esperadas n ão uma causa de preocupação - elas indicam que o pacote unit está redefinindo funções anteriormente definidas no local adequado do Maxima. Essa redefinição é necessária com o bojetivo de manusear adequadamente as unidades. O utilizador pode estar consciente que se outras modificações tiverem sido feitas para essas funções por outros pacotes essas novas mudanças irão ser sobrescritas por meio desse processo de disponibilização do pacote unit.

O ficheiro unit.mac também chama um ficheiro lisp, a saber unit-functions.lisp, que contém as funçãoes lisp necessárias ao pacote.

Clifford Yapp é o autor primário. Ele recebeu grande contribuição de Barton Willis da University of Nebraska at Kearney (UNK), Robert Dodier, e da intrépida tribo da lista de mensagens do Maxima.

Existem provavelmente muitos erros. Diga-me quais. float e numer não fazem o que é esperado.

PORFAZER : funcionalidade de dimensão, manuseio de temperatura, a função showabbr e Cia. Ltda. Mostrar exemplos com adição de quantidades contendo unidades.


Próximo: , Anterior: , Acima: unit   [Conteúdo][Índice]