Informática Aplicada à Engenharia Florestal Computação Científica Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais
Computação Científica Conceito Computação Científica (ou ciência computacional) é o campo de estudo interessado na construção de modelos matemáticos e técnicas de soluções numéricas utilizando computadores para analisar e resolver problemas científicos e de engenharia. De forma prática, é a aplicação de simulação computacional e outras formas de computação para a análise e resolução de problemas em diversas disciplinas científicas. 2
Computação Científica Conceito Cientistas e engenheiros desenvolvem programas de computador que modelam sistemas sendo estudados e os executam com diversos conjuntos de parâmetros de entrada. Tipicamente, tais modelos requerem uma grande quantidade de cálculos, o que faz com que o relacionamento com a Computação Numérica seja intenso. A Computação Numérica, por sua vez, é a utilização de computadores para a manipulação de números. 3
Motivação Interessante Em algumas áreas do conhecimento, a experimentação laboratorial é extremamente cara ou até mesmo impossível. Nesse contexto, a Computação Científica tem um papel de grande importância, pois configura um terceiro modo da ciência, complementando a experimentação (observação) e a teoria. Exemplos? 4
Computação Científica Abordagem Definição do Problema: A partir de um fenômeno, que pode ser físico, natural, econômico, dentre outros. Modelagem Matemática: Transformação do problema original num problema matemático. Solução Numérica: Escolher o método mais adequado para resolver o problema matemático. Elaborar um algoritmo (um conjunto de comandos que, quando ativados, resulta em uma sucessão finita de a- contecimentos). 5
Computação Científica Abordagem Solução Numérica: Codificar o programa (implementar o algoritmo na linguagem de programação escolhida). Processar o Programa (retirar os erros de sintaxe e pro- duzir os resultados aguardados). Análise dos Resultados: verificar a consistência dos resultados obtidos. 6
Alguns Sites Interessantes Laboratório Nacional de Computação Científica: http://www.lncc.br SocietyforindustrialandappliedMathematics: http://www.siam.org/ Centro de Computação Científica e Software Livre: http://www.c3sl.ufpr.br/ Programa de Computação Científica: http://www.procc.fiocruz.br/ 7
Linguagens Linguagens de programação utilizadas para computação numérica/científica FORTRAN (1954) - FORmula TRANslation. Pascal. C, C++. Java. Python. Etc. 8
Ambientes Alguns ambientes utilizados para computação numérica/científica: Octave (livre): http://www.gnu.org/software/octave/ Scilab (livre): http://www.scilab.org/ R (livre): http://www.r-project.org/ Python(x, y) (livre): http://www.pythonxy.com/ Matlab (proprietário): http://www.mathworks.com/ O Octave, o Scilab e o R estão instalados nas máquinas do Laboratório de Informática do ICA! 9
Estudo de Caso Octave Na nossa disciplina, consideraremos o Octave como estudo de caso. É importante destacar que conhecendo um desses ambientes, utilizar outros é simples, pois eles são bastante similares. É importante também que vocês exercitem a curiosidade e brinquem como software. 10
Octave Introdução O Octave é um programa para efetuar cálculos numéricos que possui um extensivo conjunto de ferramentas para problemas comuns, tais como: Cálculo de autovalores e autovetores. Solução de sistemas de equações. Manipulação de polinômios. Determinação de raízes de equações não lineares. Integração numérica. Solução de equações diferenciais ordinárias. Etc. 11
Octave Introdução Surgiu em 1988, para auxiliar no desenho de reações químicas. Foi criado por James B. Rawlings da Universidade de Wisconsin-Madison e John G. Ekerdt da Uni- versidade do Texas. Em 1993, foi liberada a versão 1.0 e passou a ser uma ferramenta mais abrangente. Atualmente, está na versão (estável) 3.4.0. 12
Octave Características Principais É distribuído sobre licença GPL (GeneralPublicLicense). Multiplataforma: Linux, Unix, Mac, Windows (com um pouco de atraso)... Permite carregar módulos escritos em outras linguagens, tais como C++ e Fortran. Compatível com outros programas da categoria (como o Matlab), o que é um dos motivos de sua escolha como estudo de caso na nossa disciplina. 13
Janela do Octave O Octave originalmente não dispõe de interface gráfica. Ele deve ser executado no terminal (Linux) ou noprompt de comando (Windows): 14
QTOctave Interface Gráfica 15
QtOctave Interface Gráfica Para obter o QtOctave: http://qtoctave.wordpress.com/ 16
GUI Octave Interface Gráfica 17
GUI Octave Interface Gráfica Para obter o GUI Octave: https://sites.google.com/site/guioctave/ 18
Calculadora 19
Calculadora 20
Comandos Básicos cd: muda o diretório atual. pwd: exibe diretório atual. ls ou dir: lista o conteúdo do diretório atual. mkdir: cria um diretório. rmdir: remove um diretório. format: muda o formato de apresentação dos números delete: remove um arquivo. help: exibe a ajuda de uma função/comando. lookfor: digitem help lookfor e descubram!!! clc: limpa a tela do console. who e whos: gestão de variáveis. 21
Comandos Básicos Formatação Comando format: 22
Conceitos Básicos Constantes 23
Documentação 24
Documentação 25
Atividades Na página da disciplina há um arquivos com algumas atividades a serem realizadas para direcionar o primeiro contato com o Octave... Mandem ver! 26