CoNum, que significa Computação Numérica é uma aplicação escrita na
linguagem C++ para ambiente Windows, desenvolvido pela Professora Edite Manuela
da G. P. Fernandes e com o apoio da Universidade do Minho, no ano lectivo
1993/94.
Este programa de fácil utilização, ajuda o utilizador a resolver uma
grande variedade de problemas matemáticos nos mais diversos domínios, entre
eles a Álgebra Linear, Aproximação, Resolução de equações, Integração,
Equações diferenciais e Optimização, através da utilização dos Métodos
Numéricos.
Toda a comunicação com o operador é realizado através de menus. A selecção
de métodos é feita através do menu “Problemas” e pelas respectivas caixas
de diálogo.
Existem 9 tios de Problemas:
·
Solução de uma equação não
linear;
·
Sistemas de equações
lineares;
·
Sistemas de equações não
lineares;
·
Valores e vectores próprios de
matrizes;
·
Interpolação polinomial;
·
Aproximação dos mínimos
quadrados;
·
Integração numérica;
·
Equações diferenciais ordinárias;
·
Optimização não linear sem
restrições;
Cada um destes problemas pode ser consultado mais detalhadamente no livro
“Computação Numérica”, também da autoria da Professora Edite Fernandes.
Todos as rotinas estão identificadas por nomes com 6 letras, excepto a rotina
de GAUSS. A lista de todas as rotinas é apresentada mais detalhadamente no índice
do referido livro, que pode também servir como manual de utilização para um
melhor aproveitamento das capacidades do CoNum.
Todos os dados dos problemas são introduzidos através de caixas de diálogos
e os resultados são-nos apresentados numa janela de edição (janela de
resultados).
Para uma melhor facilidade de utilização podemos navegar na já referida
janela de resultados, através das teclas, do cursor, Home, End, Page Up, Page
Down e barras de navegação.
O CoNum possui quatro menus de opção:
·
Menu Ficheiro
·
Menu Problemas
·
Menu Opções
·
Menu Help
O menu Ficheiro contém
as opções relativas à manipulação
de ficheiros: 'Novo', 'Abrir',
'Gravar' e 'Gravar Como', assim
como a opção de saída da aplicação
'Sair'.
A capacidade de visualização na janela de resultados está limitada a cerca de 20 Kbytes, pelo que a aplicação não permitirá a abertura de ficheiros com tamanho superior ao limite referido. Durante a execução dos problemas, caso o conteúdo da janela de resultados exceda os 20 Kbytes, o utilizador é inquirido acerca da gravação dos resultados. Caso o deseje, os resultados são gravados para ficheiro, a janela é limpa e o problema continua a sua execução. Se o conteúdo exceder novamente o limite da janela de resultados, estes são gravados para disco directamente, após terem sido visualizados, caso o utilizador tenha respondido afirmativamente à questão da gravação dos resultados.
O menu Problemas contém todas
as opções relacionadas com a execução dos diversos métodos numéricos.
Este menu encontra-se
dividido por tipo de problemas:
·
Equações não Lineares
·
Sistemas de Equações Lineares
·
Sistemas de Equações não
Lineares
·
Valores e Vectores Próprios
·
Interpolação Polinomial
·
Mínimos Quadrados
·
Integração Numérica
·
Equações Diferenciais Ordinárias
·
Optimização não Linear.
O menu Opções serve dois
objectivos:
·
permitir ao utilizador alterar
o número de casas decimais com que pretende visualizar os valores numéricos (note-se que a
precisão interna
dos cálculos não é afectada por este numero);
·
activar/desactivar a visualização
dos resultados por iteração. Se a opção estiver desactivada os resultados são
apresentados somente no final da execução do método em causa. Se pelo contrário
estiver activa, para além dos resultados no final da execução, a aplicação
fornece também informação ao longo da execução do método.
O menu Help é composto pela opção
de Help e pela referência aos
autores.
·
Funções de 1 variável:
Deverá designar a variável
por x1.
Ex.:
cos(x1)+exp(x1)-2*x1
·
Funções de n (n>1) variáveis:
Deverá designar as variáveis
por x1, x2, x3,...
Ex.:
x1+x2*senh(x1)-pot(x1,x3)
·
Equações Diferenciais:
Para o caso de uma equação
diferencial deverá designar a variável x por x1 e a y por x2.
Ex.:
sen(x)*y -> sen(x1)*x2
Para o caso de n (n>1) equações
diferenciais deverá designar a variável x por x1, a y1 por x2, a y2 por
x3,..., a yn por xn+1.
Ex.:
y1 ->
x2
y2+x*y3 -> x3+x1*x4
(x+1)*y2 -> (x1+1)*x3
·
Problemas de Mínimos Quadrados
não Lineares:
Deverá designar os parâmetros
c1, c2,...,cn, respectivamente por xz+1, xz+2, ..., xz+n, em que z é o número
de variáveis reais no modelo e n é o número de parâmetros.
Ex.;
c1*c3*x1/(1+c2*x1+x2)
-> x3*x5*x1/(1+x4*x1+x2)
As funções matemáticas disponíveis são:
·
a
+ b - adição de a com b
·
a
- b - diferença entre a e b
·
a
* b - produto de a por b
·
a
/ b - divisão de a por b
·
abs(a) - valor absoluto de a
·
div(a,b) - divisão inteira de a por b
·
mod(a,b) - resto da divisão inteira de a por b
·
sqrt(a) - raiz quadrada de a
·
pot(a,b) - potência (a elevado a b)
·
sen(a) - seno de a
·
cos(a) - co-seno de a
·
tg(a) - tangente de a
·
asen(a) - arco-seno de a
·
acos(a) - arco-co-seno de a
·
atg(a) - arco-tangente de a
·
senh(a) - seno hiperbólico de a
·
cosh(a) - co-seno hiperbólico de a
·
tgh(a) - tangente hiperbólica de a
·
min(a,b) - mínimo entre a e b
·
max(a,b) - máximo entre a e b
·
ln(a) - logaritmo neperiano de a
·
log(a) - logaritmo natural de a
·
exp(a) - exponencial de a
Nota: os cálculos
relativos a funções trigonométricas e afins são realizados em radianos.
Os valores numéricos com
expoente deverão ser introduzidos de acordo com os exemplos seguintes:
1e-05
-23.5E-23
1001.1001e15
0.3e+4
O valor de pi encontra-se pré-definido,
podendo ser referenciado através da palavra reservada pi.
Ex.:
2.5*pi+pi/4
O valor que a aplicação
utiliza nos cálculos que envolvam o pi é:
pi = 3.14159265358979323846