Trabalho sobre software matematicos

Trabalho sobre software matematicos

(Parte 1 de 2)

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS

Curso de Engenharia Mecânica – Contagem

Ferramentas de Programação Numérica

Matéria: Laboratório de informática II

Guilherme Saint-Clair

Marcelo Mata

Mateus Teixeira

Roberto Ribeiro

2º Período

Contagem

2009

Sumário

1. Introdução 3

2. Matlab 3

2.1 Histórico 3

2.2 Característica 3

2.3 Conceito 5

3. Scilab 5

3.1 Histórico 5

3.2 Característica 6

3.3 Conceito 7

4. Octave 8

4.1 Histórico 8

4.2 Característica 9

4.3 Conceito 10

5. Comparativo do ambiente de trabalho 11

6. Conclusão....... 22

1 INTRODUÇÃO

Muitas das atividades cientificas e de ensino nos cursos de Cálculo e Física, são desenvolvidas utilizando programas proprietários (por exemplo: MatLab). Muitos desses programas possuem similares gratuitos que podem auxiliar a reduzir os custos de tais ferramentas computacionais, ao mesmo tempo em que dão acesso irrestrito a ferramentas robustas. Como exemplo os softwares Scilab e Octave.

2 MATLAB

2.1 Histórico

Matlab, de Matrix Laboratory, é um ambiente interativo para computação envolvendo matrizes. Matlab foi desenvolvido no início da década de 80 por Cleve Moler, no Departamento de Ciência da Computação da Universidade do Novo México, EUA.

Matlab coloca à disposição do usuário, num ambiente interativo, as bibliotecas desenvolvidas nos projetos LINPACK e EISPACK. Estes projetos elaboraram bibliotecas de domínio público para álgebra Linear. LINPACK tem rotinas para solução de sistemas de equações lineares, e EISPACK tem rotinas para cálculo de autovalores. Os manuais destes projetos são portanto documentação complementar à documentação do Matlab.

As versões recentes do produto Matlab melhoram significativamente o ambiente interativo, incluindo facilidades gráficas de visualização e impressão; todavia a "Linguagem Matlab'' manteve-se quase inalterada. Existem vários interpretadores da linguagem Matlab em domínio público, como Matlab 1.0, Octave e Scilab. Existem também outros interpretadores comerciais de Matlab, como CLAM. Existem ainda várias Tool Boxes, bibliotecas vendidas pela MathWorks e por terceiros, com rotinas em Matlab para áreas específicas.

2.2 Características

O propósito geral do MATLAB é de permitir a realização de cálculos computacionais de forma mais fácil e mais “rápida” do que com o uso de linguagens de programação convencionais como C, C++, e Fortran. Ele é usado por mais de um milhão de pessoas na indústria e no meio acadêmico. Seu preço básico é de em torno de US$2000 para uso comercial e sem ferramentas (toolboxes) adicionais, e possui uma licença de US$100 para uso acadêmico, mas com limitações em suas funcionalidades.

Matlab tornou-se o padrão de fato para DSP sistema de concepção e de simulação. No entanto, ele é absurdamente caro.

Felizmente, existem alternativas: Livre Clones. Os principais clones são Scilab Matlab, Octave, e Rlab. Os programas não são verdadeiros "clones", porque não podem oferecer 100% de compatibilidade com o Matlab do "m-files". No entanto, todos eles proporcionam números semelhantes ao Matlab. Essencialmente, Scilab, Octave, e Rlab são interpretados como, matriz com base em linguagens de programação. Eles compartilham com o Matlab:

  • O uso de matrizes como um tipo de dados fundamental;

  • Construído em apoio aos números complexos;

  • Poderosa built in funções matemáticas e extensa função bibliotecas;

  • Extensibilidade, sob a forma de funções definidas por usuários.

É possível no MATLAB

  • Armazenar e recuperar dados;

  • Criar, executar e armazenar seqüências de comandos;

  • Controlar a ordem na qual os comandos são executados;

  • Fazer comparações lógicas;

  • Traduzir em gráficos os dados de diversas maneiras;

  • Executar álgebra matricial e manipular polinômios;

  • Integrar e diferenciar funções;

  • Manipular equações simbolicamente e etc.

2.3 Conceitos

O ponto forte do MatLab está na manipulação e cálculos matriciais, como por exemplo, resolução de sistema lineares, cálculo de auto-valores e auto-vetores, fatoração de matrizes, entre outros. Além disso, muitas funções especializadas já estão internamente implementadas, de modo que em muitos casos não há a necessidade de se construir muitas coisas.

Outros dois pontos fortes do Matlab são a criação e manipulação de gráficos científicos e a possibilidade de extensão por meios de pacotes comerciais ou escritos pelo próprio usuário. Em geral o usuário e a funcionalidade do Matlab crescem juntos, pois com o tempo, ele começa a escrever suas próprias funções, agregando capacidades específicas. Isto faz com que, aos poucos, o Matlab comece a mimetizar, ou até mesmo suplantar, softwares científicos específicos de diversas áreas.

Uma característica interessante é que o Matlab é muito mais fácil de aprender do que as linguagens científicas convencionais, tais como C e Fortran. Entretanto, quanto maiores e mais complexas as rotinas e funções da biblioteca, pior fica a sua performance quando comparada a sua equivalente em C e/ou Fortran.

3. SCILAB

3.1 Histórico

Desenvolvido desde 1990 pelos pesquisadores do INRIA (Institut National de Recherche em Informatique et en Automatique) através do projeto MÉTALAU (Methods, algorithmes ́ et logiciels pour l’automatique); e do ENPC (École Nationale dês Ponts et Chaussées). Atualmente é mantido e desenvolvido pelo Consórcio Scilab desde sua criação em Maio de 2003. O Scilab está disponível para as seguintes plataformas:

  1. Plataformas UNIX/Linux:

  • Scilab 5.1 - arquivo biná́rio para Linux (scilab-5.1.bin.linux-i686.tar.gz);

  • Scilab 5.1 - arquivo com o código fonte do Scilab (scilab-5.1.src.tar.gz);

  1. Plataformas Windows 9X/NT/2000/XP:

  • Scilab 5.1 - instalador da versão binária do Scilab (scilab-5.1.exe);

  • Scilab 5.1 - código fonte do Scilab (scilab-5.1.src.zip)

Características referentes ao fato de ser um software livre:

  • A última versão do software está sempre disponível, geralmente via Internet;

  • O software pode ser legalmente utilizado, copiado, distribuído, modificado;

  • Os resultados obtidos podem ser divulgados sem nenhuma restrição;

  • O acesso ao código fonte, evitando surpresas desagradáveis;

  • Os programas desenvolvidos podem ser transferidos para outras pessoas sem imposições de quaisquer natureza

  • O acesso a informação de alta qualidade.

  • A certeza de estar participando de uma comunidade cujo valor principal é a irrestrita difusão do conhecimento.

3.2 Características

O Scilab é um ambiente de programação numérica bastante flexível. Suas principais características são:

  • É um software de distribuição gratuita, com código fonte disponível. Sua linguagem é simples e de fácil aprendizado;

  • Possui um sistema de auxílio ao usuário, help;

  • É um ambiente poderoso para geração de gráficos bi-dimensionais e tri-dimensionais, inclusive com animação;

  • Implementa diversas funções para manipulação de matrizes. As operações de concatenação, acesso e extração de elementos, transposição, adição e multiplicação de matrizes são facilmente realizadas;

  • Permite trabalhar com polinômios, funções de transferência, sistemas lineares e grafos;

  • Apresenta facilidades para a definição de funções;

  • Permite o acesso a rotinas escritas nas linguagens FORTRAN ou C;

  • Pode ser acessado por programas de computação simbólica como o Maple, que é um software comercial, ou o MuPAD, que é livre para uso em instituições de ensino/pesquisa;

  • Suporta o desenvolvimento de conjuntos de funções voltadas para aplicações específicas, os chamados toolboxes:

  1. ANN – para redes neurais;

  2. FISLAB – para lógica difusa;

  3. FRACTAL – para análise de sinais usando fractais e wavelets.

3.3 Conceitos

Existem duas estruturas de controle iterativo no Scilab: o laço for e o comando while. A interação do usuário com o Scilab pode ocorrer de duas formas distintas. Na primeira, os comandos são digitados diretamente no prompt do Scilab. Ao ser pressionada a tecla Enter, os comandos digitados são interpretados e imediatamente executados. Neste modo de utilização, Scilab funciona como uma sofisticada e poderosa calculadora. Na segunda forma, um conjunto de comandos é digitado em um arquivo texto. Este arquivo, em seguida, é levado para o ambiente Scilab e executado. Neste modo, o Scilab funciona como um ambiente de programação. Uma observação importante: Scilab é case sensitive. Assim, por exemplo, a variável incr é diferente das variáveis INCR, Incr ou INcr. As grandezas no Scilab também podem ser complexas.

No Scilab existe o conceito de ambientes definidos via uma hierarquia de prompts. Muda-se de ambiente através do comando pause ou através de Ctrl+C. Todas as variáveis definidas no primeiro ambiente são válidas no novo ambiente. Observar que a mudança de ambiente modifica a forma de apresentação do prompt. Este passa a indicar o ambiente no qual estão sendo efetuados os comandos. O retorno ao ambiente anterior dá-se através da utilização dos comandos resume ou return. Com este tipo de retorno, perdem-se as variáveis definidas no ambiente anterior. A utilização de ambientes é importante para a realização de testes.

No Scilab, podemos trabalhar com vários tipos de dados. As constantes, reais ou complexas,as variáveis booleanas, os polinômios, as strings e as frações envolvendo polinômios são considerados dados escalares. Com estes objetos podemos definir vetores e matrizes. Os outros tipos de dados reconhecidos pelo Scilab são as listas e as listas com definição de tipo.

Uma das características mais importante do Scilab é a facilidade com que o usuário pode criar seus próprios programas. Apesar de simples, a linguagem Scilab disponibiliza a maioria das estruturas das linguagens de programação convencionais. A diferença principal é que, na programação Scilab, não há a necessidade da declaração prévia dos tipos das variáveis que serão utilizadas ao longo do programa.

Um fator a ser levado em consideração é que Scilab é um interpretador de comandos. Os programas escritos na linguagem Scilab são, portanto, normalmente executados em um tempo maior que os programas semelhantes escritos em linguagens compiláveis. Este fato é mais relevante quando precisamos desenvolver programas para a realização de simulações ou de otimizações. Nesses casos, pode ser conveniente escrever o código responsável pela lentidão do processamento em uma linguagem convencional (no caso, C ou FORTRAN) e rodar esse código dentro do ambiente Scilab. Deve ser enfatizado, entretanto, que a vantagem na utilização do Scilab advém da facilidade de prototipação de programas e da disponibilidade de uma poderosa biblioteca de funções gráficas. Como sempre ocorre nessas situações, cabe ao usuário encontrar a sua solução de compromisso.

4 Octave

4.1 Histórico

O Octave é um software livre, escrito por Eaton (1997) e por vários outros colaboradores. Originalmente pretendia-se usar o Octave para ensinar o projeto do reator, mas ele acabou sendo usado também nas diversas disciplinas da graduação do departamento de engenharia química e do departamento da Matemática da Universidade do Texas, que tem usado este software para ensinar equações diferenciais e também álgebra linear.

Inicialmente foi escrita por James B. Rawlings da University of Wisconsin-Madison e John G. Ekerdt of the University of Texas. O Octave é um programa de linguagem aberta, logo muitas pessoas contribuem com sentenças de comando que são adicionados às versões em fase de teste, essas contribuições estão disponíveis no site da GNU Octave. O software está disponível sob os termos da Licença Pública Geral do GNU (GPL) (Free Software Foundation, 1991).

(Parte 1 de 2)

Comentários