ferramentas_cientificas

190
II Semana Ci ˆ encias Exatas Salviano A. Le ˜ ao –1 Software livre: Ferramentas cient´ ıficas para uso acad ˆ emico e cient´ ıfico Prof. Salviano A. Le ˜ ao 4 de setembro de 2009

Upload: salviano-a-leao

Post on 09-Aug-2015

45 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 1

Software livre: Ferramentas cientıficas para uso acad emico ecientıfico

Prof. Salviano A. Leao

4 de setembro de 2009

Page 2: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 2

1. Software Livre

2. Editores de textos

3. Tratamento de imagens

4. Desenho

5. Maquina virtual java

6. Comunicacao – Internet

7. Matematica

Page 3: Ferramentas_Cientificas

Software Livre

II Semana Ciencias Exatas Salviano A. Leao – 3

Page 4: Ferramentas_Cientificas

Software Livre

II Semana Ciencias Exatas Salviano A. Leao – 4

■ O Software Livre e uma questao de liberdade: as pessoas devem ser livrespara usar o software de todas as maneiras que sejam socialmente uteis.

■ O Software nao e um objeto material, podendo ser copiado e mudado maisfacilmente. Ver filosofia da FSFhttp://www.gnu.org/philosophy/philosophy.pt.html

■ O codigo aberto e o software livre sao formas solidarias de fomentar odesenvolvimento

■ Representam mudancas nas perspectivas de trabalho e de produtividade.

■ Estimulam o pensamento criativo e o debate da etica.

■ Nao elimina o bom uso de outras ferramentas; porem resgata o usoapropriado de recursos financeiros.

Page 5: Ferramentas_Cientificas

Categorias de Softwares

II Semana Ciencias Exatas Salviano A. Leao – 5

■ Comerciais

■ Comerciais liberados para testes

■ Shareware

■ Freeware

■ Liberado para uso nao comercial

■ Binarios de uso irrestrito

■ Codigo aberto (Open SourceSoftware)

— BSD

— Gnu Public License (GPL)

— Artistic

■ Copyleft

— Mozilla Public License (MPL)

— Apache

Page 6: Ferramentas_Cientificas

Projeto GNU: http://www.gnu.org

II Semana Ciencias Exatas Salviano A. Leao – 6

■ O Projeto GNU foi iniciado em 1983 por Richard Stallman para desenvolverum sistema operacional completo, compatıvel com o Unix, que fosse softwarelivre: o sistema GNU.

■ GNU e um acronimo recursivo para GNU Nao e Unix e e pronunciado comoguh-noo.

■ Variantes do sistema operacional GNU, que incluem o kernel GNU/Linux, saohoje amplamente utilizadas; embora estes sistemas sejam frequentementechamados de Linux, eles seriam mais corretamente chamados de sistemasGNU/Linux.

Page 7: Ferramentas_Cientificas

Fundac ao pelo Software Livre (FSF)

II Semana Ciencias Exatas Salviano A. Leao – 7

Software livre e uma questao de liberdade e nao de preco.

■ Inıcio em 1983, por Richard Stallman

■ Fundacao pelo Software Livre (Free Software Foundation - FSF)http://www.fsf.org/ foi criada em 1985.

■ Objetivo: Preservar a liberdade.

■ Livre e Pela Liberdade.

■ Base de todo sistema aberto hoje existente

■ http://www.gnu.org/software/software.html

Page 8: Ferramentas_Cientificas

Sistemas Operacionais

II Semana Ciencias Exatas Salviano A. Leao – 8

■ GNU Operating System

■ GNU/Linux

■ FreeBSD

■ OpenBSD

■ NetBSD

■ FreeDOS

Page 9: Ferramentas_Cientificas

Algumas Distribuic oes GNU/Linux

II Semana Ciencias Exatas Salviano A. Leao – 9

■ Debian (http://www.debian.org)

■ Debian BR CDD (brasileira)

■ Gentoo

■ Knoppix

■ Kurumin (brasileira – http://www.guiadohardware.net/gdhpress/kurumin/)

■ Mandriva/Conectiva

■ Red Hat/Fedora (http://www.redhat.com/)

■ Slackware (http://www.slackware.com)

■ SUSE/OpenSUSE

■ Ubuntu, Kubuntu, Edubuntu, Xubuntu (http://www.ubuntu.com)

■ Yellow Dog Linux (para Mac)

Page 10: Ferramentas_Cientificas

Lista de Distribuic oes

II Semana Ciencias Exatas Salviano A. Leao – 10

A pagina http://www.ceunsp.br/linux/distribuicoes.html possui uma grande relacaode distribuicoes GNU/Linux e http://www.ceunsp.br/linux/distribuicoes.htm temosum grande banco de dados com inumeras (mais de 2000) distribuicoes.Os Live CDs, sao distribuicoes do GNU/Linux, que rodam diretamente doCD-ROM, ver uma lista em http://www.livecdlist.com/. A variedade de opcoes eimensa, indo de mini distribuicoes (limitadas em tamanho e funcionalidade) atesuper-distibuicoes voltadas aos experts e a pesquisa.Pode-se citar as seguintes distribuicoes:

■ Ubuntu

■ Kurumim - mini-distribuicao brasileira.

■ Slax - mini-distribuicao.

■ Adios - muito estavel e com privilegios administrativos (en).

Page 11: Ferramentas_Cientificas

GNU/Linux No Pen Drive

II Semana Ciencias Exatas Salviano A. Leao – 11

O GNU/Linux tambem roda de num pen drive.Ha uma serie de tutoriais para as diversas distribuicoes emhttp://pendrivelinux.com/.Distribuicoes que rodam num pen drive:

■ Pendrivelinux

■ Knoppix

■ Gentoo

■ Damn Small Linux

■ PCLinuxOS

■ SLAX

Page 12: Ferramentas_Cientificas

Editores de Texto

II Semana Ciencias Exatas Salviano A. Leao – 12

Page 13: Ferramentas_Cientificas

Editores de Texto

II Semana Ciencias Exatas Salviano A. Leao – 13

Basicamente ha dois tipos

■ Editores de texto puro, sem formatacao;

— Editar arquivos de configuracao;

— Editar programas;

— Editar dados;

■ Editores com formatacao. Especıfico para o tipo de texto a ser editado.

■ Padrao Open Document Format

Page 14: Ferramentas_Cientificas

Alguns Editores Para Escrit orio

II Semana Ciencias Exatas Salviano A. Leao – 14

AbiWord Um editor de texto bom, pequeno.

OpenOffice.org Uma suıte completa para escritorio, baseada no StarOffice,mas com licenca de software livre.

Siag Office Um pacote de aplicacoes bastante configuravel.http://siag.nu/

KOffice Conheca a nova versao de um dos melhores pacotes de escritorio paraLinux

Page 15: Ferramentas_Cientificas

Utilit arios

II Semana Ciencias Exatas Salviano A. Leao – 15

AikSaurus Como soletrar uma palavra em ingles? Pergunte ao AikSaurus.

kttsd Soletra uma palavra ou uma frase em ingles.

bsgloss Um gerenciador de glossarios e tradutores para Linux. Faz consultasao glossario local e a diversos sites de glossarios e traducoes na Internet,simultaneamente.

Scribus Software para editoracao eletronica de documentos. Uma alternativalivre para os ja consagrados ”Adobe Pagemaker”e ”Quark Xpress”.

KWordQuiz Software para treinar vocabulario.

Telico Software para manipular banco de dados de livros, cd’s, etc.

kdict Um dicionario com diversas opcoes.

stardict Dicionario.

Page 16: Ferramentas_Cientificas

Editores Cientıficos

II Semana Ciencias Exatas Salviano A. Leao – 16

Kile Um editor de texto LATEX, para ambiente KDE.

TeXmacs Editor de texto cientıfico com interface para outros softwares. ExportaLATEXe tem formato o que voce ve e o que voce obtem.

texmaker Um editor de texto LATEX, para ambiente Gnome.

amyedit Editor de texto LATEX.

Winefish Editor de texto LATEX, mais complexo.

LyX Editor de textos, tambem util para trabalhos cientıfico, ja que pode exportarno formato LATEX.

jabref Editor de banco de dados bibtex, em java.

kbibtex Editor de banco de dados bibtex.

kbib Editor de banco de dados bibtex.

Xemacs Ambiente de programacao autamente configuravel, que tambem podeser usado para editar textos LATEX.

gvim mbiente de programacao autamente configuravel, que tambem pode serusado para editar textos LATEX.

Page 17: Ferramentas_Cientificas

Agendas

II Semana Ciencias Exatas Salviano A. Leao – 17

KOffice Possui uma agenda.

Evolution Um leitor de e-mail, diario, agenda, etc.

Kontact Contatos e tarefas sob controle

KOrganizer Compromissos, tarefas e contatos sempre em ordem

Plan Individualmente ou em grupo, mantenha sua agenda em dia

ToDo Um ”lembrador”para as tarefas do dia-a-dia

Page 18: Ferramentas_Cientificas

Editores de Texto simples: Gr aficos

II Semana Ciencias Exatas Salviano A. Leao – 18

kedit O mais simples dos editores do ambiente KDE.

kwrite Editor simples do ambiente KDE.

Kate Editor bastante versatil do ambiente KDE.

khexedit Editor hexadecimal do ambiente KDE.

gedit Editor bem versatil do ambiente gnome.

gvim Versao grafica do vi.

Xemacs Versao grafica do excelente emacs. Multitarefa e programavel.

SciTE Editor com ambiente de programacao

Page 19: Ferramentas_Cientificas

Editores de Texto simples: texto

II Semana Ciencias Exatas Salviano A. Leao – 19

nano editor simples para o modo texto.

pico editor simples para o modo texto.

mcedit editor simples para o modo texto

vi editor modo texto padrao dos sistemas unix/Linux.

emacs editor modo texto, bastante configuravel.

Page 20: Ferramentas_Cientificas

Softwares para tratamento deimagens

II Semana Ciencias Exatas Salviano A. Leao – 20

Page 21: Ferramentas_Cientificas

Tipos de imagens

II Semana Ciencias Exatas Salviano A. Leao – 21

Uma imagem pode ser classificada em:

■ Desenho vetorial, que se baseia em vetores matematicos. Exemplo: eps, svg,fig, cdr, ai, etc.

■ Raster ou bitmap, que basicamente e uma descricao da cor de cada pixel.Exemplo: bmp, gif, jpg, png, tif, etc.

Page 22: Ferramentas_Cientificas

Softwares para visualizac ao

II Semana Ciencias Exatas Salviano A. Leao – 22

Djview Visualizador para o formator DjVu.

Evince Visualizador para o formator DjVu e PDF.

gqview Visualizador de imagens baseado nas bibliotecas GTK.

Gwenview Visualizador e navegador de imagens para o KDE.

gthumb Visualizador de imagem e navegador para o Gnome.

Kpdf Visualisador de arquivos PDF para o KDE.

Kghostview Visualisador de arquivos PDF, PS e EPS para o KDE.

Digikam Facil e poderoso gerenciador de fotos digitais. Ele importa, organiza,manipula, rotula e pesquisa fotos.

KPhotoAlbum indexa, busca, agrupa,e visualiza imagens por palavras chaves,data, localizacao e pessoas.

Page 23: Ferramentas_Cientificas

Softwares para imagens bitmap

II Semana Ciencias Exatas Salviano A. Leao – 23

GIMP Utilizado para processamento de imagens e fotografias. Pode-se criargraficos e logotipos, redimensionar fotos, alterar cores, combinar imagensutilizando o paradigma de camadas, remover partes indesejadas dasimagens e converter arquivos entre diferentes formados de imagem digital.

Showfoto Visualisador de imagem e editor para o KDE.

Xara LX aplicativo muito versatil, capaz de manipular e combinas imagensvetoriais e bitmaps.

ImageMagick Programas de visualizacao, e uma suıte manipulacao deimagens que suporta mais de 90 formatos de imagens. Pode ser usadopara redimensionar, girar, suavizar, etc.

Netpbm Conjunto de ferremantas para manipulacao de imagens graficas,incluindo conversao de imagens entre uma variedade de diferentesformatos. Existem da ordem de 220 ferramentas separadas no pacote,incluindo conversores para mais de 80 formatos graficos.

Page 24: Ferramentas_Cientificas

Softwares para imagens vetoriais

II Semana Ciencias Exatas Salviano A. Leao – 24

Dia Editor de diagramas, fluxogramas e graficos e circuitos.

Inkscape Um editor SVG (Scalable Vectorial Graphics) para desenhos vetoriais,logotipos, posters, icones, etc. e com capacidade similares ao AdobeIllustrator, CorelDraw and Visio.

Krita Um editor de images e desenhos da suıte KOffice para o KDE desktop.

Karbon Editor grafico vetorial para o KDE.

OpenDraw Programa para editoracao de imagens que acompanha a suıte deaplicativos OpenOffice.

Synfig Poderoso programa de desenhos vetoriais, com um pacote paraanimacoes 2D (SynfigStudio), designado na sua origem para produzirfilmes animados de qualidade.

Qcad Sistema CAD 2D profissional simples para criar desenhos tecnicos.

Xfig Facilita a geracao de figuras interativamente sob o X11. Desenhosvetoriais 2D. Excelente, simples e facil de usar.

Page 25: Ferramentas_Cientificas

Outros softwares gr aficos

II Semana Ciencias Exatas Salviano A. Leao – 25

KSnapshot Applet para capturar tela. Pode capturar imagens de todo o desktopou somente de uma janela. As imagens podem ser salvas numa variedadede formatos.

xsane Interface grafica para o scanner.

Flegita Interface grafica para o scanner baseada no Gnome.

QuiteInsane Interface grafica para o scanner.

Page 26: Ferramentas_Cientificas

Linhas de comando para imagens

II Semana Ciencias Exatas Salviano A. Leao – 26

Autotrace Utilitario para tracar um arquivo bitmap, que significa, transformar umbitmap numa imagem vetorial suavizada.

Potrace Utilitario para tracar um arquivo bitmap, que significa, transformar umbitmap numa imagem vetorial suavizada.

Potracegui Interface grafica para o potrace e autotrace.

pstoedit Conversor de arquivos Postscript e PDF nos varios formatos graficosvetoriais, incluindo tgif, xfig, PDF graficos, formato gnuplot, idraw,MetaPost, GNU Metafile, PIC, Kontour e flattened PostScript.

Transfig Utilitario para converter figuras do XFig.

Exif Utilitario para manipular fotos.

Page 27: Ferramentas_Cientificas

Linhas de comando para pdf

II Semana Ciencias Exatas Salviano A. Leao – 27

pdfjam Colecao de utilitario para juntar e transformar diversas paginas em uma.

pdfsam Junta e separa paginas.

pdftk Utilitario que tem uma serie de recursos para manipular arquivos pdf.

pdfedit Interface grafica para editar um pdf.

pdf2djvu Conversor de arquivos pdf em djvu.

pdf2svg Conversor de arquivos pdf em svg.

Page 28: Ferramentas_Cientificas

Softwares para renderizar

II Semana Ciencias Exatas Salviano A. Leao – 28

Blender Conjuto integrado de ferramentas graficas 3D para modelar, animar,renderizar imagens, design, etc.

POV-Ray E uma abreviacao do ingles Persistence of Vision Raytracer. Umaferramente de alta qualidade para criar imagens tridimensionais realısticas.

KPovmodeler Editor grafico para o KDE para cenas do povray. E um programapara modelar e compor cenas criadas para o POV-Ray no KDE.

Page 29: Ferramentas_Cientificas

Maquina virtual java

II Semana Ciencias Exatas Salviano A. Leao – 29

Page 30: Ferramentas_Cientificas

Instalando Java da sun

II Semana Ciencias Exatas Salviano A. Leao – 30

Este sao os comandos para instalar a maquina virtual java em distribuicoesGNU/Linux baseadas no Debian.

> sudo apt -get install sun -java6 -jdk (desenvolvimento java)

> sudo apt -get install sun -java6 -jre (Para os usuarios java)

ou

> sudo aptitude install sun -java6 -jdk

(desenvolvimento java)

> sudo aptitude install sun -java6 -jre

(Para os usuarios java)

Page 31: Ferramentas_Cientificas

Verificando a m aquina Java

II Semana Ciencias Exatas Salviano A. Leao – 31

Verificar maquina java

> java -version

java version "1.6.0 _06"

Java(TM) SE Runtime Environment (build 1.6.0_06 -b02)

Java HotSpot(TM) Client VM (build 10.0-b22 , mixed mode , sharing)

> update -alternatives --list java

/usr/bin/gij -4.2

/usr/lib/jvm/java -6-sun/jre/bin/java

/usr/lib/jvm/java -gcj/jre/bin/java

/usr/lib/jvm/java -6-openjdk/jre/bin/java

> sudo update -java -alternatives -l

Page 32: Ferramentas_Cientificas

Configurando m aquina java

II Semana Ciencias Exatas Salviano A. Leao – 32

> sudo update -alternatives --config java

Existem 4 alternativas que fornecem ‘java ’.

Selec~ao Alternativa

-----------------------------------------------

1 /usr/bin/gij -4.2

* 2 /usr/lib/jvm/java -6-sun/jre/bin/java

3 /usr/lib/jvm/java -gcj/jre/bin/java

+ 4 /usr/lib/jvm/java -6-openjdk/jre/bin/java

Pressione enter para manter o padr~ao[*] ou digite o numero da sel

> sudo update -java -alternatives -s java -6-sun

Page 33: Ferramentas_Cientificas

Comunicac ao e internet

II Semana Ciencias Exatas Salviano A. Leao – 33

Page 34: Ferramentas_Cientificas

Conceitos B asicos

II Semana Ciencias Exatas Salviano A. Leao – 34

A rede e um sistema de hardware e de software atraves do qual sistemascomputacionais diferentes podem se comunicar. Os diversos tipos decomunicacao podem ser:

■ Transferencia de uma mensagem;

■ Transferencia de arquivos;

Existem diversos protocolos de comunicacao.

Page 35: Ferramentas_Cientificas

Programas Gr aficos

II Semana Ciencias Exatas Salviano A. Leao – 35

■ gftp;

■ Downloader for X;

■ Drop2ftp;

■ kget;

■ firefox;

■ mozilla;

■ opera;

■ seamonkey;

■ unison;

■ kmail;

■ pidgin;

■ skype;

■ firestarter;

■ Akregator;

Page 36: Ferramentas_Cientificas

Programas b asicos do sistema

II Semana Ciencias Exatas Salviano A. Leao – 36

■ ifconfig;

■ netstat;

■ ssh;

■ telnet;

■ ftp;

■ sftp;

■ scp;

■ rsync;

■ wget;

■ lynx;

■ elinks;

■ curl;

■ ping;

Page 37: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

Page 38: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

2. Softwares cientıficos;

Page 39: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

2. Softwares cientıficos;

3. Software para tratamento de dados;

Page 40: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

2. Softwares cientıficos;

3. Software para tratamento de dados;

4. Aplicacoes graficas;

Page 41: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

2. Softwares cientıficos;

3. Software para tratamento de dados;

4. Aplicacoes graficas;

5. scilab;

Page 42: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

2. Softwares cientıficos;

3. Software para tratamento de dados;

4. Aplicacoes graficas;

5. scilab;

6. maxima;

Page 43: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 37

1. Distribuicoes cientıficas;

2. Softwares cientıficos;

3. Software para tratamento de dados;

4. Aplicacoes graficas;

5. scilab;

6. maxima;

7. gnuplot.

Page 44: Ferramentas_Cientificas

Distribuic oes Cientıficas

II Semana Ciencias Exatas Salviano A. Leao – 38

Physics Live CD Live CD com ferramentas voltada para fısicos.http://www.physics-live.org/;

Quantian Um Knoppix / Debian variante para analises quantitativas enumericas;

Debian-Med Distribuicao Debian personalizada para medicos e pesquisadoresna area medica; Ha um pacote para personalizacao debian-med:apt-cache search debian-med.

Scientific Linux O Linux lancado pelo Fermilab e o CERN baseado no Red Hat.

Madrake4Chemistry Mandrake Linux para os quımicos.

Poseidon Linux Uma distribuicao Brasileira designada para o uso academico ecientıfico;

Xplora Um DVD baseado no Knoppix/Debian que torna a ciencia acessıvel paraas escolas.

CAELinux Um liveDVD Linux para computadores para desenvolver projetos deengenharia.

Page 45: Ferramentas_Cientificas

Para encontrar uma distribuic ao Linux

II Semana Ciencias Exatas Salviano A. Leao – 39

■ Lista de distribuicoes: http://www.linux.org/dist/list.html

■ Catalogo com inumeras distribuicoes: http://distrowatch.com/

■ Comenta sobre as diversas distribuicoes:http://en.wikipedia.org/wiki/Linux_distribution

■ Compara as distribuicoes:http://en.wikipedia.org/wiki/Comparison_of_Linux_distributio

■ Ajuda da escolher um distribuicao:http://www.zegeniestudios.net/ldc/

Page 46: Ferramentas_Cientificas

Ferramentas Cientıficas

II Semana Ciencias Exatas Salviano A. Leao – 40

Sites com uma lista de softwares

■ http://wiki.ubuntu-br.org/CienciaNoUbuntu

■ https://help.ubuntu.com/community/UbuntuScience

■ LATEX2e

■ jabref

■ telico

■ texmacs

■ lyx

■ kile

■ pdftk

■ autotrace

■ potrace

■ inkscape

■ gimp

■ xfig

■ dia

■ Fityk

■ labplot

■ qtiplot

■ grace

■ gnuplot

■ maxima

■ xmaxima

■ wxmaxima

■ octave

■ freemat

■ sagemath

■ R

■ Opendx

■ SciCos

■ GeoGebra

■ step

■ phun physics

■ Lightspeed

■ gprof

■ meld

■ unison, etc;

Page 47: Ferramentas_Cientificas

Astronomia

II Semana Ciencias Exatas Salviano A. Leao – 41

KStars http://packages.ubuntu.com/kstars – Um planetario virtual.

Nightfall http://www.hs.uni-hamburg.de/DE/Ins/Per/Wichmann/Nightfall.html –Um aplicativo de astronomia para diversao, educacao e ciencia.

Stellarium http://packages.ubuntu.com/stellarium – Um planetario virtual quemostra um ceu 3D realıstico.

Google Earth http://packages.ubuntu.com/googleearth-package – Aplicativocom visualizacao 3D da Terra, incluidno uma visualizacao do ceu.

Page 48: Ferramentas_Cientificas

Softwares Gr aficos I

II Semana Ciencias Exatas Salviano A. Leao – 42

grace http://plasma-gate.weizmann.ac.il/Grace/. Aplicacao Motif/Lesstif paravisualizacao e analise de dados bidimensionais. Permite trabalhar osdados com FFT, auto-correlacao, diferencas, integrais, histogramas, etc.Gera figuras de alta qualidade.

g3data http://www.frantz.fi/software/g3data.php. Programa que extrai dados deum grafico. Digitaliza o grafico.

Opendx http://www.opendx.org/. Sistema para visualizar dados.

Fityk http://www.unipress.waw.pl/fityk/. Aplicacao cientıfica flexıvel e portatilpara ajuste (fit) nao linear de funcoes analıticas (especialmente aquelascom picos) para dados (geralmente dados experimentais). Util paraseparacao e analise de picos nao lineares.

Page 49: Ferramentas_Cientificas

Softwares Gr aficos II

II Semana Ciencias Exatas Salviano A. Leao – 43

gnuplot http://www.gnuplot.info/. Aplicacao para visualizacao e analise dedados via linha de comando, multiplataforma. Faz graficos 2D e 3D. Facilde usar. Ha uma versao para o windows.

labplot http://labplot.sourceforge.net/. Aplicacao para visualizacao e analise dedados livre. Faz graficos 2D, 3D e analise de dados. E um clone do Origin.

Qtiplot http://soft.proindependent.com/qtiplot.html. Aplicacao para visualizacaoe analise de dados. Faz graficos 2D, 3D e analise de dados. Codigo fonteliberado, ntretanto o arquivo compilado (binario) nao e liberado. Outroclone do Origin.

MayaVi2 http://code.enthought.com/projects/mayavi/. E uma ferramentamultiplataforma para visualizacao 2D e 3D de dados cientıficos.

gri http://gri.sourceforge.net/ . E uma de codigo-fonte aberto para programacaografica cientıfica. Ela e por comandos, similar ao LATEX. Ele pode fazergraficos x − y, contornos, e imagens.

Page 50: Ferramentas_Cientificas

Software Livres: Ambientesde Programac ao

II Semana Ciencias Exatas Salviano A. Leao – 44

Page 51: Ferramentas_Cientificas

Softwares Alg ebricos I

II Semana Ciencias Exatas Salviano A. Leao – 45

Scilab http://www.scilab.org. Linguagem de programacao de alto-nıvel,direcionada para calculos numericos. Faz graficos 2D, 3D e animacoes.Inclui um bom numero de toolboxes e documentacao on-line. Softwaresimilar ao Matlab. Ha uma versao para o windows.

Page 52: Ferramentas_Cientificas

Softwares Alg ebricos I

II Semana Ciencias Exatas Salviano A. Leao – 45

Scilab http://www.scilab.org. Linguagem de programacao de alto-nıvel,direcionada para calculos numericos. Faz graficos 2D, 3D e animacoes.Inclui um bom numero de toolboxes e documentacao on-line. Softwaresimilar ao Matlab. Ha uma versao para o windows.

Maxima http://maxima.sourceforge.net/. Software para calculos algebricossimilar ao Maple e ao Mathematica. Permite o calculo algebrico deintegrais, derivadas, etc. Fazer graficos. Ha uma versao para windows.

Octave http://www.octave.org. Linguagem de alto-nıvel, primariamentedesenvolvida para a computacao numerica. Software similar ao Maxima,Maple e Mathematica. Possui uma versao para o windows.

Page 53: Ferramentas_Cientificas

Softwares Alg ebricos II

II Semana Ciencias Exatas Salviano A. Leao – 46

Sage http://www.sagemath.org/. E um software matematico que inclui: algebra,calculo, teoria elementar e avancada de numeros, criptografia, computacaonumerica, algebra comutativa, teoria de grupos, analise combinatoria,teoria de grafos, etc.

FreeMat http://freemat.sourceforge.net/. E um ambiente matematico livre paraprocessamento de dados cientıficos. E similar ao MATLAB da Mathworks,e ao IDL da Research Systems, mas e de codigo aberto.

Page 54: Ferramentas_Cientificas

Interface com Python

II Semana Ciencias Exatas Salviano A. Leao – 47

SciPy http://www.scipy.org/. E um conjunto de ferramentas numericas ecientıficas para Python de codigo aberto. Ela suporta: funcoes especiais,integracao, equacoes diferenciais ordinarias, otimizacao e algortimosgeneticos, ferramentas para programacao em paralelo, etc.

Matplotlib http://matplotlib.sourceforge.net/. E uma biblioteca Python designadapara ter uma alta qualidade grafica, e possui uma sintaxe similar aoMATLAB. Ja esta incluıda na SciPy.

F2PY http://cens.ioc.ee/projects/f2py2e/. Gera interface do fortran com opython. Ja esta incluıda na SciPy.

Page 55: Ferramentas_Cientificas

Ensino de Fısica

II Semana Ciencias Exatas Salviano A. Leao – 48

Phun 2D Physics Sandbox http://www.phunland.com/wiki/Home. Permite criaranimacoes. E livre para uso nao comercial.

Setp http://edu.kde.org/step. Simulador fısico interativo. Ha um serie deexemplo na pagina:http://www.cetl.gatech.edu/students/step/stepweb/physsim.htm.

Lightspeed http://packages.ubuntu.com/lightspeed – Porgrama que ilustra osefeitos da relatividade especial na aparencia dos objetos em movimento.

Page 56: Ferramentas_Cientificas

Gnuplot

II Semana Ciencias Exatas Salviano A. Leao – 49

Page 57: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

Page 58: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

2. Grafico de Funcoes

Page 59: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

2. Grafico de Funcoes

■ Graficos unidimensionais

■ Graficos bidimensionais

■ Graficos de Funcoes Parametricas

■ Graficos em coordenadas polares

Page 60: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

2. Grafico de Funcoes

■ Graficos unidimensionais

■ Graficos bidimensionais

■ Graficos de Funcoes Parametricas

■ Graficos em coordenadas polares

3. Graficos de Arquivos

Page 61: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

2. Grafico de Funcoes

■ Graficos unidimensionais

■ Graficos bidimensionais

■ Graficos de Funcoes Parametricas

■ Graficos em coordenadas polares

3. Graficos de Arquivos

■ Graficos unidimensionais

■ Graficos bidimensionais

Page 62: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

2. Grafico de Funcoes

■ Graficos unidimensionais

■ Graficos bidimensionais

■ Graficos de Funcoes Parametricas

■ Graficos em coordenadas polares

3. Graficos de Arquivos

■ Graficos unidimensionais

■ Graficos bidimensionais

4. Tipos de Terminais

Page 63: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 50

1. Funcoes Basicas

2. Grafico de Funcoes

■ Graficos unidimensionais

■ Graficos bidimensionais

■ Graficos de Funcoes Parametricas

■ Graficos em coordenadas polares

3. Graficos de Arquivos

■ Graficos unidimensionais

■ Graficos bidimensionais

4. Tipos de Terminais

5. Scripts.

Page 64: Ferramentas_Cientificas

Func oes B asicas

II Semana Ciencias Exatas Salviano A. Leao – 51

abs (x) Para x qualquer, retorna o valor absoluto de x com o mesmo tipo de x.

abs (x) Para x qualquer, retorna√

ℜ(x)2 + ℑ(x)2 para x complexo.

acos (x) Para x qualquer, retorna um valor entre −π ≤ acos(x) ≤ π se−1 ≤ x ≤ 1.

acosh (x) Para x qualquer, retorna um valor entre −π ≤ acos(x) ≤ π sex ≥ 1.

arg(x) Para x qualquer, retorna a fase de x.

asin(x) Para x qualquer, retorna o sen−1 x (inverso do seno).

asinh(x) Para x qualquer, retorna o senh −1x (inverso do seno hiperbolico).

Page 65: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 52

atan(x) Para x qualquer, retorna o tg−1 x (inverso da tangente).

atan2(y, x) Para x e y inteiros ou reais, retorna tg−1(y/x) (inverso datangente).

atanh(x) Para x qualquer, retorna o tgh −1x (inverso da tangente hiperbolica).

besj0(x) Para x inteiro ou real, retorna a funcao de Bessel j0(x).

besj1(x) Para x inteiro ou real, retorna a funcao de Bessel j1(x).

besy0(x) Para x inteiro ou real, retorna a funcao de Bessel y0(x).

besy1(x) Para x inteiro ou real, retorna a funcao de Bessel y1(x).

Page 66: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 53

ceil(x) Para ⌈x⌉, retorna o menor inteiro nao menor que x (parte real).

cos(x) Para x qualquer, retorna o cosseno de x, cos x.

cosh(x) Para x qualquer, retorna o cosseno hiperbolico de x, cosh x, .

erf(x) Para x qualquer, retorna a funcao erro Erf(real(x)), do real(x).

erfc(x) Para x qualquer, retorna Erfc(real(x)) = 1.0 − Erf(real(x)).

exp(x) Para x qualquer, retorna ex.

floor(x) Para x qualquer, retorna ⌊x⌋, o maior inteiro nao maior do que x(parte real).

Page 67: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 54

gamma(x) Para x qualquer, retorna a funcao gama Gamma(real(x)), doreal(x).

ibeta(p, q, x) Para x qualquer, retorna a funcao ibeta Ibeta(real(p, q, x)), doreal(p,q,x).

inverf(x) Para x qualquer, retorna o inverso da funcao erro do real(x).

igamma(a, x) Para x qualquer, retorna a funcao igama Igamma(real(a, x)),do real(a,x).

imag(x) Para x complexo, retorna a parte imaginaria x como um numero real.

invnorm(x) Para x qualquer, retorna o inverso da distribuicao normal doreal(x).

Page 68: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 55

int(x) Para x real, retorna a parte inteira de x, truncando a parte decimal.

lambertw(x) Para x real, retorna a funcao de Lambert W .

lgamma(x) Para x qualquer, retorna a funcao lgama Lgamma(real(x)), doreal(x).

log(x) Para x qualquer, retorna o logaritmo natural de x (base e),lnx = log ex.

log10(x) Para x qualquer, retorna o logartitmo de x na base 10, log 10x.

norm(x) Para x qualquer, retorna a funcao distribuicao normal (Gaussiana) doreal(x).

Page 69: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 56

rand(x) Para x qualquer, retorna um numero pseudo aleatorio Rand(real(x)).

real(x) Para x qualquer, retorna a parte real de x.

sgn(x) Para x qualquer, retorna 1 se x > 0, −1 se x < 0, 0 se x = 0. Oimag(x) e ignorado.

sin(x) Para x qualquer, retorna sen x.

sinh(x) Para x qualquer, retorna senh x.

sqrt(x) Para x qualquer, retorna√

x.

tan(x) Para x qualquer, retorna tg x, a tangente de x.

tanh(x) Para x qualquer, retorna tgh x, a tangente hiperbolica de x.

Page 70: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 57

column(x) Retorna um inteiro, para a coluna x durante a manipulacao dedados.

defined(X) nome da variavel retorna 1 se a variavel X esta definida, 0senao.

tm hour(x) Retorna um inteiro para a hora.

tm mday(x) Retorna um inteiro para o dia do mes.

tm min(x) Retorna um inteiro para o minuto.

tm mon(x) Retorna um inteiro para o mes.

tm sec(x) Retorna um inteiro para o segundo.

tm wday(x) Retorna um inteiro para o dia da semana.

tm yday(x) Retorna um inteiro para o dia do ano.

tm year(x) Retorna um inteiro para o ano.

valid(x) Retorna um inteiro para o teste validade da column(x) durante amanipulacao de dados.

Page 71: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 58

rand(0) Retorna um numero pseudo aleatorio no intervalo 0 ≤ rand(0) ≤ 1gerado a partir do valor corrente da semente interna de 32-bits.

rand(−1) Reinicializa ambas as sementes para um valor padrao.

rand(x) Para x > 0 inicializa ambas as sementes para um valor baseado novalor de x.

rand(x, y) Para x > 0 inicializa a semente 1 (seed1) para x e a semente 2(seed2) para y..

Page 72: Ferramentas_Cientificas

Express oes e Operadores

II Semana Ciencias Exatas Salviano A. Leao – 59

■ Os operados no gnuplot sao os mesmos da liguagem de programacao C.

■ O ∗∗ operador (exponenciacao) e suportado, como no FORTRAN.

■ Osparenteses podem ser usados para alterar a ordem de calculo de umaexpressao.

Page 73: Ferramentas_Cientificas

Operadores Unit arios

II Semana Ciencias Exatas Salviano A. Leao – 60

Sımbolo Exemplo Explicacao

− −a menos unitario+ +a mais unitario

a complemento! !a Negacao logica! !a Fatorial$ $3 chama argumento/coluna durante uma manipulacao

Page 74: Ferramentas_Cientificas

Operadores Bin arios

II Semana Ciencias Exatas Salviano A. Leao – 61

Sımbolo Exemplo Explicacao

∗∗ a ∗ ∗b Exponenciacao∗ a ∗ b Multiplicacao/ a/b Divisao% a%b Modulo∗

+ a + b Adicao− a − b Subtracao

== a == b Igualdade! = a! = b Desigualdade< a < b Menor que

<= a <= b Menor ou igual a> a > b Maior que

>= a >= b Maior ou igual a

Page 75: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 62

Sımbolo Exemplo Explicacao

& a&b Bit∗ E^ a^b Bit∗ OU exclusivo| a|b Bit∗ OU inclusivo

&& a&&b Logico∗ E|| a|| Logico∗ OU

Page 76: Ferramentas_Cientificas

Operadores Tern arios

II Semana Ciencias Exatas Salviano A. Leao – 63

Sımbolo Exemplo Explicacao

? : a?b : c Operacao Ternaria

Este operador comporta-se como em C. O primeiro argumento a, que deve serum inteiro, e calculado. Se ele for verdade (diferente de zero), o segundo b ecalculado e retornado, de outro modo, o terceiro c e calculado e retornado.Exemplo, faca o grafico da funcao

g(x) =

{

sen(x) se 0 ≤ x < 11/x se 1 ≤ x < 2

gnuplot > g(x)= 0 <=x && x<1 ? sin(x) :

1<=x && x<2 ? 1/x : 1/0

gnuplot > plot g(x)

Page 77: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 64

A funcao passo de Heaviside

θ(x) =

{

0 se x < 01 se x > 0

gnuplot > f(x) = x<0 ? 0 : x>0 ? 1 : 1/0

gnuplot > plot f(x)

Para um arquivo de dados, faca um grafico da media dos valores das colunas 2 e3 em funcao dos dados da coluna 1, mas somente se os dados da coluna 4 foremnao negativos.

gnuplot > plot ’dados.dat ’ using 1:( $4 <0? 1/0: ($2+$3 )/2)

Page 78: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 65

A funcao abaixo

H(x) =

{

f(x) = 3x − 40 se 2 ≤ x <≤ 6g(x) = −x2 + 2x − 8 se Outros casos

reset

set xtics 1

set grid

set xrange [0:10]

f(x)=3*x-40

g(x)=-x**2+2*x-8

h(x)=(2 <=x && x <=8) ? f(x):g(x)

plot h(x) t"Funcao Composta"

pause -1 "Fechar ?"

Page 79: Ferramentas_Cientificas

Definindo Func oes

II Semana Ciencias Exatas Salviano A. Leao – 66

No ambiente pode-se definir uma funcao

gnuplot > a=1

gnuplot > b=-2

gnuplot > c=3

gnuplot > f(x)=a*x**2+b*x+c

gnuplot > plot f(x)

gnuplot > a=3

Page 80: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 67

No ambiente pode-se definir uma funcao

w = 2

q = floor(tan(pi/2 - 0.1))

f(x) = sin(w*x)

sinc(x) = sin(pi*x)/(pi*x)

delta(t) = (t == 0)

ramp(t) = (t > 0) ? t : 0

min(a,b) = (a < b) ? a : b

comb(n,k) = n!/(k!*(n-k)!)

len3d(x,y,z) = sqrt(x*x+y*y+z*z)

plot f(x)=sin(x*a), a=0.2,f(x), a=0.4,f(x)

Page 81: Ferramentas_Cientificas

Controle de Eixos e Escalas

II Semana Ciencias Exatas Salviano A. Leao – 68

■ set grid ativa a grade.

■ set nogrid ou unset grid desativa a grade.

■ set xrange [x0:xf] define o intervalo de variacao de x.

■ set yrange [y0:yf] define o intervalo de variacao de y.

■ set zrange [z0:zf] define o intervalo de variacao de z em graficos (3D).

■ set samples n define o numero de pontos n usados para fazer o grafico.

■ replot f(x) ou rep f(x) adiciona o grafico de f(x) ao anterior.

■ test mostra as definicoes padroes.

■ reset reinicializa as variaveis internas aos valores padroes.

■ clear limpa a tela.

Page 82: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 69

gnuplot > plot sin(x/2) with points

gnuplot > plot sin(x/2) with lines

gnuplot > plot sin(x/2) with linespoints

gnuplot > plot sin(x/2) with dots

gnuplot > plot sin(x/2) with impulses

Page 83: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 70

gnuplot > plot sin(x/2) with points 3

gnuplot > plot sin(x/2) with lines 5

gnuplot > plot sin(x/2) with linespoints 1

gnuplot > plot sin(x/2) with dots 8

gnuplot > plot sin(x/2) with impulses 9

gnuplot > plot [0:pi/2] sin(x/2) with points 10 6

gnuplot > rep cos(4*x) with impulses 3

Page 84: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 71

gnuplot > set xrange [-2*pi: 2*

gnuplot > f(x)=sin(x/2)

gnuplot > plot f(x)

gnuplot > set xrange [-2*pi:2*pi]

gnuplot > f(x,b)=sin(x/b)

gnuplot > plot f(x,2)

gnuplot > set xrange [-2*pi:2*pi]

gnuplot > f(x)=sin(x*a)

gnuplot > plot f(x), a=0.5

gnuplot > set xrange [-2*pi:2*pi]

gnuplot > f(x,a)=sin(a*x)

gnuplot > plot f(x ,0.5)

Page 85: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 72

gnuplot > reset

gnuplot > plot "Dens.dat" using 1:2

gnuplot > reset

gnuplot > plot "Dens.dat" using ($1): ($2)

gnuplot > reset

gnuplot > plot "Dens.dat" using ($1):($2) with lines 3 6

Outras opc~oes:

using ($1):($2 +$3)

using ($1):($2 +3*($3))

using ($2):($5)/100

Page 86: Ferramentas_Cientificas

Mais Controles Sobre os Eixos

II Semana Ciencias Exatas Salviano A. Leao – 73

■ set xtics ∆x. Aqui ∆x e o valor do intervalo de pontos no eixo x.

■ set mxtics n numero de divisoes no intervalo de pontos ∆x do eixo x.

■ set ytics ∆y Valor do intervalo de pontos no eixo y.

■ set mytics n numero de divisoes no intervalo de pontos ∆y do eixo y.

■ set xlabel ”Nome do eixo x”

■ set ylabel ”Nome do eixo y”

■ set title ”Nome do grafico”

Page 87: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 74

gnuplot > reset

gnuplot > set grid

gnuplot > set xtics 2

gnuplot > set mxtics 2

gnuplot > set ytics 40

gnuplot > set mytics 2

gnuplot > set xrange [0:25]

gnuplot > set title "Func~ao Parabolica \n Teste 1"

gnuplot > set xlabel "X - Tempo (s)"

gnuplot > set ylabel "Y- Acelerac~ao (m/s2)"

gnuplot > f(x,a,b,c)=a+b*x+c*x**2

gnuplot > plot f(x,120 , -5 ,0.1) t"func~ao 1" with points 3 5

gnuplot > rep f(x,80 ,+10 , -0.15) t"func~ao 2" with lines 8

Page 88: Ferramentas_Cientificas

Posicionamento das Legendas

II Semana Ciencias Exatas Salviano A. Leao – 75

■ set key left bottom Canto inferior esquerdo.

■ set key right bottom Canto inferior direito.

■ set key left top Canto superior esquerdo.

■ set key right top Canto superior direito.

Page 89: Ferramentas_Cientificas

Exemplo: Supefıcies

II Semana Ciencias Exatas Salviano A. Leao – 76

reset

set grid

set format z "%4.2f"

f(x,y)=log(sqrt( x*x + y*y))

splot f(x,y)

Page 90: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 77

set format Formato dos valores numericos

set hidden3D No modo 3D, esconde o que fica atras da superfıcie.

Page 91: Ferramentas_Cientificas

Exemplos 5: Supefıcies

II Semana Ciencias Exatas Salviano A. Leao – 78

reset

set grid

set xlabel "X"

set ylabel "Y"

set zlabel "Z"

set title "Exemplo de Superfıcie"

set ztics 0.50

set format z "%4.2f"

f(x,y)=sin(y/7)* cos(x/5)

set cntrparam levels incremental -1,0.25,1

set contour base

set hidden3d

splot f(x,y) t""

Page 92: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 79

set multiplot

plot sin(x)

set origin 0.5 ,0.5

set size 0.4 ,0.4

clear

plot cos(x)

unset multiplot

Page 93: Ferramentas_Cientificas

Lendo arquivo

II Semana Ciencias Exatas Salviano A. Leao – 80

Se voce tem um arquivo chamado sup.gp com o seguinte conteudo

reset

set grid

set xlabel "X"

set ylabel "Y"

set zlabel "Z"

set title "Exemplo de Superfıcie"

set ztics 0.50

set format z "%4.2f"

f(x,y)=sin(y/7)* cos(x/5)

set cntrparam levels incremental -1,0.25,1

set contour base

set hidden3d

splot f(x,y) t""

Voce pode chama-lo no gnuplot com o seguinte comando

gnuplot > load "sup.gp"

Page 94: Ferramentas_Cientificas

Rodando Scripts

II Semana Ciencias Exatas Salviano A. Leao – 81

Se voce tem um arquivo chamado sup.gp com o seguinte conteudo

reset

set grid

set xlabel "X"

set ylabel "Y"

set zlabel "Z"

set title "Exemplo de Superfıcie"

set ztics 0.50

set format z "%4.2f"

f(x,y)=sin(y/7)* cos(x/5)

set cntrparam levels incremental -1,0.25,1

set contour base

set hidden3d

splot f(x,y) t""

pause -1

Voce tera um grafico na tela e ao pressionar enter ele sera fechado.

Page 95: Ferramentas_Cientificas

Salvar Grafico

II Semana Ciencias Exatas Salviano A. Leao – 82

Exemplo gera as figuras sup.eps, sup.fig e sup.png

reset

set grid

set xlabel "X"

set ylabel "Y"

set zlabel "Z"

set title "Exemplo de Superfıcie"

set ztics 0.50

set format z "%4.2f"

f(x,y)=sin(y/7)* cos(x/5)

set cntrparam levels incremental -1,0.25,1

set contour base

set hidden3d

splot f(x,y) t""

pause -1 "Tecle Return Gerar Grafico EPS"

set terminal postscript landscape enhanced color lw 2 "Helvetica"

14

set out "sup.eps"

replot

set output # Volta a saida output para seu valor padrao

set terminal x11 # Volta para o terminal X11

!ls -ahl sup.eps # Lista o tamanho do arquivo gerado

pause -1 "Tecle Return Gerar Grafico FIG"

set term fig big color fontsize 14 thickness 2

Page 96: Ferramentas_Cientificas

Scilab

II Semana Ciencias Exatas Salviano A. Leao – 83

Page 97: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

Page 98: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

2. Ambiente do Scilab

Page 99: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

2. Ambiente do Scilab

3. Algumas Funcoes Primitivas

Page 100: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

2. Ambiente do Scilab

3. Algumas Funcoes Primitivas

4. Obtendo Ajuda

Page 101: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

2. Ambiente do Scilab

3. Algumas Funcoes Primitivas

4. Obtendo Ajuda

5. Polinomios, Vetores e Matrizes

Page 102: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

2. Ambiente do Scilab

3. Algumas Funcoes Primitivas

4. Obtendo Ajuda

5. Polinomios, Vetores e Matrizes

6. Programacao

Page 103: Ferramentas_Cientificas

Sumario

II Semana Ciencias Exatas Salviano A. Leao – 84

1. O que e Scilab

2. Ambiente do Scilab

3. Algumas Funcoes Primitivas

4. Obtendo Ajuda

5. Polinomios, Vetores e Matrizes

6. Programacao

7. Graficos

Page 104: Ferramentas_Cientificas

Origem do Scilab

II Semana Ciencias Exatas Salviano A. Leao – 85

■ Em 1990 foi iniciado seu desenvolvido pelos pesquisadores do INRIA (InstitutNational de Recherche en Informatique et en Automatique) e do ENPC (EcoleNationale des Ponts et Chaussees).

■ Em maio de 2003 foi criado o Consorcio Scilab que tornou-se responsavelpelo seu desenvolvimento.

■ Sua pagina e http://www.scilab.org/.

■ E distribuıdo gratuitamente e em codigo aberto via Internet desde 1994.

■ Devido sua qualidade e usado em diversos ambientes industriais eeducacionais pelo mundo.

Page 105: Ferramentas_Cientificas

O que e o Scilab

II Semana Ciencias Exatas Salviano A. Leao – 86

Scilab e um ambiente de programacao numerica bastante flexıvel. Suasprincipais caracterısticas sao:

■ Distribuicao gratuita, com codigo fonte disponıvel. Linguagem simples e defacil aprendizado;

■ Possui um bom sistema de auxılio ao usuario, help;

■ Poderoso ambiente para geracao de graficos 2D e 3D, inclusive comanimacao;

■ Possui varias funcoe para manipulacao de matrizes. As operacoes deconcatenacao, acesso e extracao de elementos, transposicao, adicao emultiplicacao de matrizes sao facilmente realizadas;

■ Permite trabalhar com polinomios, funcoes de transferencia, sistemas linearese grafos;

Page 106: Ferramentas_Cientificas

Caracterısticas do Scilab

II Semana Ciencias Exatas Salviano A. Leao – 87

■ Define-se facilmente uma funcao;

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

■ Pode ser acessado por programas de computacao simbolica como o Maple,que e um software comercial, ou o MuPAD2, que e livre para uso eminstituicoes de ensino/pesquisa;

■ Suporta o desenvolvimento de conjuntos de funcoes voltadas para aplicacoesespecıficas, os chamados toolboxes.

Page 107: Ferramentas_Cientificas

Home Page do Scilab

II Semana Ciencias Exatas Salviano A. Leao – 88

http://www.scilab.org/

Page 108: Ferramentas_Cientificas

Paginas da Web Sobre o Scilab

II Semana Ciencias Exatas Salviano A. Leao – 89

http://www.inria.fr/ INRIA - Centro de pesquisa criador do Scilab

http://www.enpc.fr/ ENPC - Centro de pesquisa criador do Scilab

http://www.scilab.org/ Pagina oficial do Scilab.

http://www.dca.ufrn.br/ pmotta/ Pagina do prof. Paulo S. Motta Pires, que fezum pequeno manual em portugues da versao 3.0 do Scilab.

http://www.rau-tu.unicamp.br/scilab/ Pagina de usuarios brasileiros quetrocam informacoes a respeito do Scilab.

http://www.das.ufsc.br/ werner/nivelamento/index.html Pagina comapostilas do Scilab.

http://aquarius.ime.eb.br/ aecc/ Pagina do Eduardo Carrilho com algummaterial sobre o Scilab.

Page 109: Ferramentas_Cientificas

Vari aveis Especiais

II Semana Ciencias Exatas Salviano A. Leao – 90

-->who

your variables are...

num tk_choose demoex demolist oldln

scipad help_menu scicos_pal

%scicos_menu %scicos_short %scicos_help

%scicos_display_mode modelica_libs

scicos_pal_libs addmenu delmenu %helps home

SCIHOME PWD TMPDIR MSDOS SCI guilib

sparselib xdesslib percentlib polylib

intlib elemlib utillib statslib alglib siglib

optlib autolib roblib soundlib metalib armalib

Page 110: Ferramentas_Cientificas

Vari aveis Especiais II

II Semana Ciencias Exatas Salviano A. Leao – 91

optlib autolib roblib soundlib metalib armalib

tkscilib tdcslib s2flib mtlblib %F %T

%z %s %nan %inf COMPILER %gtk

%pvm %tk $ %t %f %eps

%io %i %e

using 17511 elements out of 5000000.

and 62 variables out of 9231

your global variables are...

LANGUAGE %helps demolist %browsehelp LCC

%toolboxes %toolboxes_dir INDEX TMPDIR

using 1141 elements out of 11000.

and 9 variables out of 767

Page 111: Ferramentas_Cientificas

Vari aveis Especiais II

II Semana Ciencias Exatas Salviano A. Leao – 92

-->SCI // Diretorio no qual o Scilab foi instalado

SCI =

/usr/lib/scilab -4.0

-->PWD // Diretorio no qual esta trabalhando

PWD =

/home/salviano

-->home // Diretorio no qual esta trabalhando

home =

/home/salviano

-->chdir(’Progs ’) // Mudar de diretorio

Page 112: Ferramentas_Cientificas

Comandos de Interacao com o Shell

II Semana Ciencias Exatas Salviano A. Leao – 93

■ host

■ unix

■ unix g

■ unix s

■ unix w

■ unix x

-->unix_w(’ls -alh ’) // Lista arquivos no diretorio que se est

total 94M

drwxrwxr -x 93 salviano salviano 12K 2006 -10 -05 11:29 .

drwxr -xr -x 11 root root 4,0K 2006 -05 -22 11:00 ..

-rw-r--r-- 1 salviano salviano 3,2K 2004 -07 -04 15:10 0004029.gz

-rw-rw-r-- 1 salviano salviano 136K 2006 -04 -05 18:28 3band_model

drwxr -xr -x 3 salviano salviano 4,0K 2005 -12 -13 09:10 .adobe

drwxr -xr -x 2 salviano salviano 4,0K 2005 -04 -23 16:49 .alexandria

Page 113: Ferramentas_Cientificas

Comandos Simples

II Semana Ciencias Exatas Salviano A. Leao – 94

-->a=1 // Verifique o que ocorre

-->a=1; // Veja o que ocorre

-->a // Veja o que ocorre

-->clear // Veja o que ocorre

-->a // Veja o que ocorre

-->i=1:5 // Verifique o que ocorre

-->i=1:0.5:5 // Veja o que ocorre

-->a=2,b=3 // Veja o que ocorre

-->clear // Reinicializa as variaveis do sistema

-->a

-->b

Page 114: Ferramentas_Cientificas

Comandos Simples

II Semana Ciencias Exatas Salviano A. Leao – 95

-->a=5,b=10;

-->save(’dados.dat ’,a,b) // Salva no arquivo binario as variaveis

-->clear // Limpa as variaveis

-->a

-->b

-->load(’dados.dat ’,’a’,’b’) // Le as variaveis a e b no arquivo

-->a

-->b

-->diary(’file.sce ’) // Salva secao , o que for digitado a partir

-->a=10,v0=0,x0 =10;

-->t=1;

-->x=x0+v0*t+0.5*a*t^2;

-->diary(0) // reinicializa secao. Termina o arquivo.

Page 115: Ferramentas_Cientificas

Comandos Simples

II Semana Ciencias Exatas Salviano A. Leao – 96

-->a=2, pause

a =

2.

-1->a=3

a =

3.

-1->a=2*a

a =

6.

-1->resume

-->a

a =

2.

Page 116: Ferramentas_Cientificas

Numero Complexos

II Semana Ciencias Exatas Salviano A. Leao – 97

-->a=1+2*%i

a =

1. + 2.i

-->b=1 -2*%i

b =

1.] 2.i

-->a*b

ans =

5.

-->conj(a)

ans =

1.] 2.i

-->norm(a)

ans =

2.236068

-->[Ro,Theta]=polar(a)

Theta = 1.1071487 + 5.071E-17i

Ro = 2.236068

Page 117: Ferramentas_Cientificas

Constantes Especiais

II Semana Ciencias Exatas Salviano A. Leao – 98

O Scilab tem definido internamente algumas constantes especiais: %i, %pi, %e,e %eps.

■ A constante %i representa√−1, o numero imaginario i.

■ A constante %pi e π = 3.1415927 · · · .

■ A constante %e e o numero de Euler e = 2.7182818 · · · .

■ A constante %eps representa a precisao da maquina, %eps e o maior numerono qual 1 + %eps = 1.

■ A constante %inf representa o Infinity.

■ A constante %nan representa o NotANumber.

■ A constante %s e o polinomio s=poly(0,’s’) com o sımbolo s.

Page 118: Ferramentas_Cientificas

Constantes Especiais II

II Semana Ciencias Exatas Salviano A. Leao – 99

■ Para um vetor rts, p=poly(rts,’x’) define o polinomio p(x) com avariavel x de modo que roots(p) = rts).

■ A constante booleana %t que representa verdadeiro.

■ A constante booleana %f que representa falso.

■ Note que %t e o mesmo que 1==1 e %f e o mesmo que ~%t.

■ Estas variaveis sao consideradas predefinidas. Elas sao protegidas naopodendo ser alteradas.

■ Pode-se predefinir suas proprias variaveis com o comando predef, porexemplo, definindo i=sqrt(-1) em vez de %i.

■ Provavelmente o melhor modo e definir estas variaveis especiais no arquivocom as configuracoes iniciais do usuario, o <home dir>/.scilab.

Page 119: Ferramentas_Cientificas

Polin omios no Scilab

II Semana Ciencias Exatas Salviano A. Leao – 100

■ Os polinomios sao criados atraves da funcao poly.

■ Polinomios de mesma variavel, podem ser somados, subtraıdos, multiplicadose divididos.

■ Pode-se gerar polionimios por suas raizes.

■ Pode-se gerar polinomios por seus coeficientes.

■ Pode-se determinar as raizes de um polinomio.

Page 120: Ferramentas_Cientificas

Polin omios

II Semana Ciencias Exatas Salviano A. Leao – 101

■ O comando p=poly([-1,2],’x’) cria um polinomio com raizes −1 e 2.

■ O comando roots(p) encontra as raizes do polinomio f.

■ O comondo q=poly([-4 2 -1], ’x’, ’coeff’) cria o polinomioq(x) = −4 + 2x − x2.

■ Podemos somar, subtrair multiplicar e dividir polinomios.

-->roots(poly([-4 2 -1], ’x’, ’coeff ’))

ans =

1. + 1.7320508i

1. - 1.7320508i

Page 121: Ferramentas_Cientificas

Polin omios

II Semana Ciencias Exatas Salviano A. Leao – 102

Para complementar o exemplo, os dois polinomios podem ser multiplicados,divididos, somandos ou subtraıdos como mostra a sequencia de comandos,

-->p * q // Multiplicacao

-->p / q // Divisao

ans =

2

2 - 3s + s

----------

1 + 2s

-->[r, q] = pdiv(p,q) // Efetuando a divisao: q=quociente , r=rest

q =

- 1.75 + 0.5s

r =

3.75

-->p + q // Adicao

-->p - q // Subtracao

-->

Page 122: Ferramentas_Cientificas

Scilab: Vetores

II Semana Ciencias Exatas Salviano A. Leao – 103

■ O comando x = [1; 2; 3] cria um vetor coluna.

■ O comando y = [1 2 3] cria um vetor linha, assim como z = [4, 5, 6].

■ O comando x*y e uma matriz de 3 × 3.

■ O comando x’ e o transposto do vetor x.

■ O comando size(x) fornece a dimensao do vetor x.

■ O comando a=ones(1:10) gera um vetor de 10 sendo todos eles iguais a 1.

■ O comando b=zeros(1:10) gera um vetor de 10 sendo todos eles iguais a 1.

■ Podemos somar e subtrair dois vetores.

■ Podemos multiplicar e dividir um vetor por um escalar.

Page 123: Ferramentas_Cientificas

Scilab: Vetores

II Semana Ciencias Exatas Salviano A. Leao – 104

■ O comando norm(v) retorna a magnitude do vetor v, ou seja, seu modulo.

■ As funcoes min(v) e max(v) retornam respectivamente o valor mınimo o valormaximo do vetor v.

■ Produto escalar dos vetores linha u e v e: u*v’

■ Produto escalar dos vetores coluna u e v e: u’*v

■ As operacoes a serem realizadas termo a termo sao obtidas usando umponto antes da operacao textcolorred( .* ./ ), por exemplo, para obter um vetorlinha da multiplicacao de elemento por elemento dos vetores linha u e v,fazemos: u.*v

■ Inversa da matriz: inv(matriz)

■ matriz identidade: eye(n,n) ou eye(A)

Page 124: Ferramentas_Cientificas

Matrizes

II Semana Ciencias Exatas Salviano A. Leao – 105

Vamos considerar as matrizes

A =

1 2 3-5 4 -2-3 7 1

B =

-3 4 -14 -2 82 -5 1

■ O comando A = [1 2 3; -5 4 -2; -3 7 1] cria a matriz A.

■ O comando B = [-3 4 -1; 4 -2 8; 2 -5 1] cria a matriz B

■ O comando A(1,2) mostra o elemento A1,2 da matriz A.

■ O comonado size(A) e uma matriz de 3 × 3.

■ O comando A’ e a transposta da matriz A.

■ Podemos somar e subtrair dois matrizes de mesma dimensao.

■ Podemos multiplicar e dividir um vetor por um escalar.

■ Podemos multiplicar uma matriz por outra.

Page 125: Ferramentas_Cientificas

Elementos de Vetores e Matrizes

II Semana Ciencias Exatas Salviano A. Leao – 106

■ O comando V(2:5) acessa todos os elementos V2, V3, V4 e V5 do vetor V .

■ O comando V(1:2:9) acessa todos os elementos impares entre 1 e 9 do vetorV .

■ O comando A(:,2) mostra todos os elementos da coluna 2.

■ O comando v($), acessa ultimo elemento de v.

■ O comando A($-1,:), acessa a segunda linha da matriz A.

Page 126: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 107

■ Funcao de Vandermonde

■ Matriz de Hilbert: testmatrix(’hilb’,n)

■ Quadrado Magico: testmatrix(’magic’,n)

■ Traco: trace(matrix)

■ Dimensoes de uma/um matriz/vetor: size(matrix)

■ Matriz de elementos aleatorios: rand(n,m) or rand(A)

■ Extraindo linhas: A(1,:), A(2,:)

■ Extraindo colunas: A(:,1), A(:,2)

■ Adicionando vetores linhas a um vetor coluna: vl = [], vl = [vl l1], vl = [vl l2]

■ Adicionando colunas a uma matriz de vetores linhas: B = [], B = [B; l1], B = [B;l2]

■ Adicionando colunas a uma matriz de vetores colunas: B=[], B=[B c1],B=[Bc2]

Page 127: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 108

■ Adicionando vetores coluna a um vetor coluna: vc = [], vc = [vc c1], vc = [cvc2]

■ Soma e produto de todos elementos de uma matriz: sum(B), prod(B)

■ Soma e produto por colunas (para produzir uma linha soma/produto):sum(B,’r’), prod(B,’r’)

■ Soma e produto por linhas (para produzir uma coluna soma/produto):sum(B,’c’), prod(B,’c’)

■ Solucao do Sistema Linear A · x + c = 0: [x0,nsA] = linsolve(A,c[,x0])

■ Metodo dos mınimos-quadrados para forca uma solucao def(x) = A · x + c, com derivada g(x) = f ′(x) = A:

--> deff(’y = f(x,A,c)’,’y = A*x + c’)

--> deff(’yp = g(x,A,c)’,’yp = A’)

--> [SSE ,xsol] = leastsq(f,g,x0)

ou usar a funcao Lslinsolve descrita.

Page 128: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 109

■ Solucao do Sistema Linear A · x = b usando divisao a esquerda:--> xsol = A\b

■ Fatorizacao LU : [L,U] = lu(A) or [L,U,P] = lu(A)

■ Decomposicao do Valor-Singular da matriz A:

[U,S,V] = svd(A)

[s] = svd(A)

[U,S,V,r] = svd(A,tol)

■ Rank da matriz A: rank(A)

■ Normas da matriz A:

— norm(A) ou norm(A,2): Norma Euclideana

— norm(A,1): Norma-L1 ou norma por coluna

— norm(A,’inf’) ou norm(A,%if): Norma Infinita

— norm(A,’fro’): Norma de Frobenius

Page 129: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 110

■ Normas de um vetor

— norm(v) ou norm(v,2): Norma Euclideana

— norm(v,p): Norma-Lp

— norm(v,’inf’): Norma Infinita

Page 130: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 111

■ Numero de condicoes de uma matriz: cond(matriz)

■ Determinante de uma matriz: det(matriz)

■ Eliminacao Gaussiana funcoes definidas pelo usuario:

— gausselim: Eliminacao Gaussiana Naıve

— gausselimPP: Eliminacao Gaussiana com pivotacao parcial

— gausselimmm: Eliminacao Gaussiana para multiplos conjuntos deequacoes

— gausselimd: Eliminacao Gaussiana usada para calcular o determinante

■ Para obter os autovalores de uma matriz: spec(matriz)

■ Funcoes definidas pelo usuario para autovetores

■ Funcoes definidas pelo usuario para gerar a equacao caracterıstica.

■ Funcoes definidas pelo usuario para generalizar autovetores

Page 131: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 112

■ Matrizes Esparsas:

— Define uma matriz esparsa: sparse(matriz) ou sparse(indice,valores)

— Converte matriz esparsa em cheia: full(matriz)

— Para obter informacoes sobre a matriz esparsa:[index,val,dim] = spget(sparse_matrix)

— Matriz esparsa com uns : spones(A)

— Matriz esparsa identidade: speye(n,n)

— Matriz esparsa com elementos aleatorios: sprand(n,m,density)

— Matriz esparsa com entradas zero: spzeros(A) ou spzeros(n,m)

— Funcoes definidas pelo usuario para visualizar as matrizes esparsas.

— Fatorizacao de uma matriz esparsa, use:

[hand ,rk] = lufact(As)

[P,L,U,Q] = luget(hand)

— ludel(hand)

Page 132: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 113

■ Funcoes definidas pelo usuario para resolver um sistema linear com umamatriz tridiagonal.

■ Solucao do sistema linear de equacoes tridiagonal usando matrizes esparsas.

■ Solucoes iterativas de um sistema linear de equacoes

Page 133: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 114

■ Fatorizacao LU: [L,U] = lu(A) or [L,U,P] = lu(A)

■ Decomposicao do Valor Singular

[U,S,V] = svd(A)

[s] = svd(A)

[U,S,V,r] = svd(A,tol)

Page 134: Ferramentas_Cientificas

Operac oes B asicas com Vetores e Matrizes

II Semana Ciencias Exatas Salviano A. Leao – 115

SIMBOLO OPERACAO

[] definicao de matriz e concatenacao

: cria um vetor num intervalo: v=[inicio:incremento:fim]

; separador de linhas

( ) extracao: m=a(k)

( ) insercao: a(k)=m

’ transposta

+ adicao

− subtracao

∗ multiplicacao

/ divisao a direita

Page 135: Ferramentas_Cientificas

Mais Operac oes Com Vetores e Matrizes

II Semana Ciencias Exatas Salviano A. Leao – 116

SIMBOLO OPERACAO

\ divisao a esquerda

^ exponenciacao

.* multiplicacao elemento-a-elemento

.\ divisao, a esquerda, elemento-a-elemento

./ divisao, a direita, elemento-a-elemento

.^ exponenciacao elemento-a-elemento

.*. produto de Konecker

./. divisao, a direita de Konecker

.\. divisao, a esquerda de Konecker

Page 136: Ferramentas_Cientificas

Operac oes Matriciais: Exemplo

II Semana Ciencias Exatas Salviano A. Leao – 117

-->x=[1 2 3]

x = 1. 2. 3.

-->y=[1 2 3]

y = 1. 2. 3.

-->x*y

!--error 10

inconsistent multiplication

-->x.*y

ans = 1. 4. 9.

-->y./x

ans = 1. 1. 1.

-->A = [ 1 2 3; 4 5 6; 7 8 9]

A =

1. 2. 3.

4. 5. 6.

7. 8. 9.

-->B = [ 2 2 2; 2 2 2; 2 2 2]

B =

2. 2. 2.

2. 2. 2.

2. 2. 2.

-->A .\ B

ans =

2. 1. 0.6666667

Page 137: Ferramentas_Cientificas

Programacao: Loop For

II Semana Ciencias Exatas Salviano A. Leao – 118

O comando for tem a forma geral:

for variavel = vetor_linha

instrucao_1

instrucao_2

... ...

instrucao_n

end

Page 138: Ferramentas_Cientificas

Loop For: Exemplo

II Semana Ciencias Exatas Salviano A. Leao – 119

-->for k = 1:3

-->a = k + 1

-->end

a =

2.

a =

3.

a =

4.

-->v = [2 3 4 5 6];

-->y = 0;

-->for k = v

-->y = y + k

-->end

y =

2.

y =

5.

y =

9.

y =

14.

y =

20.

Page 139: Ferramentas_Cientificas

Programacao: Loop While

II Semana Ciencias Exatas Salviano A. Leao – 120

O comando while tem a forma geral:

while condicao

instrucao_1

instrucao_2

... ...

instrucao_n

end

OPERADOR Significado

== ou = igual a

< menor que

> maior que

<= menor ou igual a

>= maior ou igual a

<> ou ~= diferente

Page 140: Ferramentas_Cientificas

Loop while: Exemplo

II Semana Ciencias Exatas Salviano A. Leao – 121

-->x = 1;

-->while x < 14

-->x = x * 2

-->end

x =

2.

x =

4.

x =

8.

x =

16.

Page 141: Ferramentas_Cientificas

Programacao: IF

II Semana Ciencias Exatas Salviano A. Leao – 122

O comando IF tem a forma geral:

if condicao_1 then

sequencia_de_instrucoes_1

else

sequencia_de_instrucoes_2

end

Na sua forma mais geral ,

if condicao_1 then

sequencia_de_instrucoes_1

elseif condicao_2

sequencia_de_instrucoes_2

... ... ...

... ... ...

... ... ...

elseif condicao_n

sequencia_de_instrucoes_n

else

sequencia_de_instrucoes_n+1

end

Page 142: Ferramentas_Cientificas

Programacao: select case

II Semana Ciencias Exatas Salviano A. Leao – 123

O comando select case tem a forma geral:

select variavel_de_teste

case expressao_1

sequencia_de_instrucoes_1

case expressao_2

sequencia_de_instrucoes_2

...

...

... ... ... ... ... ...

case expressao_n

sequencia_de_instrucoes_n

else

sequencia_de_instrucoes_n+1

end

Page 143: Ferramentas_Cientificas

Definindo Scripts

II Semana Ciencias Exatas Salviano A. Leao – 124

■ Atraves dos comando save e load, e possıvel armazenar e recuperar valoresde variaveis.

■ Atraves do comando diary, e poissıvel criar arquivos onde armazenamos amemoria das sessoes.

■ Pode-se criar arquivos contendo comandos do Scilab que serao executadosposteriormente dentro do seu ambiente, os scripts.

Os scripts podem ser chamados atraves do comando:

-->exec(’’nome_do_arquivo_de_comandos.sce ’’)

Page 144: Ferramentas_Cientificas

Programacao: Scripts

II Semana Ciencias Exatas Salviano A. Leao – 125

Sao caracterısticas dos arquivos scripts:

■ Todas as variaveis definidas no arquivo de comandos permanecem validas noambiente Scilab apos a execucao dos comandos do arquivo.

■ Nao ha uma definicao clara das entradas e saıdas do script. Esse fato podedificultar a correcao de possıveis erros.

Page 145: Ferramentas_Cientificas

Exemplo

II Semana Ciencias Exatas Salviano A. Leao – 126

Pelo metodo de Newton-Raphson a raiz de uma funcao f(x) = 0 pode serobtida por

xi+1 = xi −f(xi)

f ′(xi).

A funcao que permite obter a√

2 e

f(x) = x2 − 2

Entao a formula de Newton-Raphson e

xi+1 = xi −x2

i − 2

2xi

.

Vamos usar x0 = 1. O script para resolver este sistema e:

Page 146: Ferramentas_Cientificas

Newton-Raphson

II Semana Ciencias Exatas Salviano A. Leao – 127

// script: metodo de Newton -Raphson

// f(x) = x * x - 2

N = 10; // Numero maximo de iteracoes

x0 = 1.0; // Aproximacao inicial

delta = 10^( -5); // Erro

xn = x0;

for n=1:N

xn1 = xn - (xn * xn - 2)/(2 * xn);

if abs((xn1 -xn)/xn1) < delta then

printf(’Valor da raiz = %10.7f’, xn1)

return

end

xn = xn1;

end

printf(’Nao converge em n=%f iteracoes", N)

Page 147: Ferramentas_Cientificas

Definindo Func oes

II Semana Ciencias Exatas Salviano A. Leao – 128

A forma geral de uma funcao e:

function [y1, ..., yn] = foo(x1, ..., xm)

instrucao_1

instrucao_2

...

instrucao_p

endfunction

Page 148: Ferramentas_Cientificas

Func ao: Exemplo

II Semana Ciencias Exatas Salviano A. Leao – 129

-->Digitando uma funcao no ambiente Scilab

-->function [y1, y2] = exemplo(x1 , x2)

-->// Entrada: x1 , x2

-->// Saida: y1, y2

-->y1 = x1 + x2

-->y2 = x1 * x2

-->endfunction

-->[a,b] = exemplo(2, 3)

b =

6.

a =

5.

-->

Page 149: Ferramentas_Cientificas

Func ao: Exemplo

II Semana Ciencias Exatas Salviano A. Leao – 130

-->Usando deff

-->deff(’[y1, y2]= exemplo(x1, x2)’,’y1=x1+x2,

y2=x1*x2 ’)

-->[a, b] = exemplo (3,4)

b =

12.

a =

7.

-->deff(’[y]=f(x)’,’y=x^2-2’);

-->[s]= fsolve(1,f ,0.0001)

Page 150: Ferramentas_Cientificas

Taxa de Juros Real EmbutidasNas Compras a Prazo

II Semana Ciencias Exatas Salviano A. Leao – 131

Page 151: Ferramentas_Cientificas

Taxa de Juros Real Embutidas Nas Compras a Prazo

II Semana Ciencias Exatas Salviano A. Leao – 132

As varaveis do problema sao:

■ Preco a vista da mercadoria: Vm = 1200

■ Valor da entrada: Ve = 120

■ Valor da dıvida: Vd = Vm − Ve

■ Numero de parcelas da compra: n = 20

■ Valor de cada parcela: P = 120

■ O valor total a ser pago: VT = Ve + n · P

Page 152: Ferramentas_Cientificas

Taxa de Juros Real Embutidas Nas Compras a Prazo

II Semana Ciencias Exatas Salviano A. Leao – 133

A questao e: Qual a taxa de juros que esta sendo aplicada?

■ A dıvida no fim do primeiro mes e:

D1 = Vd(1 + i) − P

■ A dıvida no fim do segundo mes e:

D2 = D1(1 + i) − P = Vd(1 + i)2 − P − P (1 + i)

■ A dıvida no fim do n-esimo mes e:

Dn = Vd(1 + i)n − P

n−1∑

l=0

(1 + i)l = 0

Page 153: Ferramentas_Cientificas

Taxa de Juros Real Embutidas Nas Compras a Prazo

II Semana Ciencias Exatas Salviano A. Leao – 134

A expressao da dıvida do n-esimo mes pode ser simplificada usando:

m−1∑

l=0

xl =xm

x − 1− 1

x − 1=

xm − 1

x − 1

Logo a expressao para a dıvida, pode ser reescrita como:

Vd(1 + i)n − P

[

(1 + i)n − 1

1 + i − 1

]

= 0

Vdi(1 + i)n − P (1 + i)n + P = 0

Para os valores exemplificados a solucao e:

{x = 0} , {x = −1. 865 9} ,{

x = 9. 199 9 × 10−2}

Page 154: Ferramentas_Cientificas

Taxa de Juros Real Embutidas Nas Compras a Prazo

II Semana Ciencias Exatas Salviano A. Leao – 135

Para encontrarmos o valor da taxa de juros i = x, deve-se resolver a equacaotranscendental acima. Sua solucao e obtida usando a funcao fsolve do scilab.

1080(1 + x)20 − 12020−1∑

l=0

(1 + x)l = 0

Para os valores exemplificados a solucao e:

{x = −1. 865 9} ,{

x = 9. 199 9 × 10−2}

Page 155: Ferramentas_Cientificas

Codigo Scilab

II Semana Ciencias Exatas Salviano A. Leao – 136

function []=Taxa()

printf("Entre com o valor da divida\n");

[vd]= scanf("%d\n");

printf("Entre com o valor da parcela\n");

[p]=scanf("%d\n");

printf("Entre com o numero de parcelas\n");

[n]=scanf("%d\n");

i=fsolve(0.5,divida ,0.0001);

printf("Taxa de juros de %f \n\n ", 100*i);

endfunction

// Chama funcao que calacula a divida

function [d]= divida(x)

s0 = vd*(1+x)^n;

soma =0;

for j=0:n-1

soma=soma + (1+x)^j

end;

d= s0 - p*soma;

endfunction

Page 156: Ferramentas_Cientificas

Soluc ao via Maxima

II Semana Ciencias Exatas Salviano A. Leao – 137

Unsando o software Maxima, podemos resolver este problema, da seguinteforma.

vd :1080;

p:120;

n:20;

f(x):=(vd*x-p)*(1+x)^n+p;

plot2d(f(x),[x ,0.0 ,0.12]);

find_root(f(x),x ,0.01 ,0.5);

Page 157: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 138

Uma bala de canhao que e atirada comuma velocidade inicial v0 numa direcaoque forma um angulo θ acima dahorizontal. Calcule a posicao e avelocidade como funcoes do tempo.Considere que a forca de resistenciado ar e diretamente proporcional avelocidade.

Soluc ao: A equacao de movimento(vetorial) e dada por

mv = −kmv − mgey

Que pode ser reescrita como

vekt + kvekt = −geyekt

d

dt

(

vekt)

= −geyekt

Page 158: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 139

Integrando a equacao acima

∫ t

0

d

dt

(

vekt)

dt =

∫ t

0

−geyektdt

Obtem-se

Page 159: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 139

Integrando a equacao acima

∫ t

0

d

dt

(

vekt)

dt =

∫ t

0

−geyektdt

Obtem-se

v(t) = v0e−kt− g

k

(

1 − e−kt)

ey

Definindo,

Page 160: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 139

Integrando a equacao acima

∫ t

0

d

dt

(

vekt)

dt =

∫ t

0

−geyektdt

Obtem-se

v(t) = v0e−kt− g

k

(

1 − e−kt)

ey

Definindo,

vt = −g

key

temos

Page 161: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 139

Integrando a equacao acima

∫ t

0

d

dt

(

vekt)

dt =

∫ t

0

−geyektdt

Obtem-se

v(t) = v0e−kt− g

k

(

1 − e−kt)

ey

Definindo,

vt = −g

key

temos

r(t) = v0e−kt + vt

(

1 − e−kt)

Integrando esta equacao,

Page 162: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 139

Integrando a equacao acima

∫ t

0

d

dt

(

vekt)

dt =

∫ t

0

−geyektdt

Obtem-se

v(t) = v0e−kt− g

k

(

1 − e−kt)

ey

Definindo,

vt = −g

key

temos

r(t) = v0e−kt + vt

(

1 − e−kt)

Integrando esta equacao,

∫ t

0

dr

dtdt =

∫ t

0

v0e−ktdt+

∫ t

0

vt

(

1 − e−kt)

dt

Obtem-se que,

Page 163: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 139

Integrando a equacao acima

∫ t

0

d

dt

(

vekt)

dt =

∫ t

0

−geyektdt

Obtem-se

v(t) = v0e−kt− g

k

(

1 − e−kt)

ey

Definindo,

vt = −g

key

temos

r(t) = v0e−kt + vt

(

1 − e−kt)

Integrando esta equacao,

∫ t

0

dr

dtdt =

∫ t

0

v0e−ktdt+

∫ t

0

vt

(

1 − e−kt)

dt

Obtem-se que,

r(t) =r0 + vtt+

(v0 − vt)

(

1 − e−kt)

k

Page 164: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 140

Com as condicoes iniciais sao:{

x(t = 0) = 0y(t = 0) = 0

{

x(t = 0) = v0cos θy(t = 0) = v0 sen θ

A coordenada x(t) sera

Page 165: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 140

Com as condicoes iniciais sao:{

x(t = 0) = 0y(t = 0) = 0

{

x(t = 0) = v0cos θy(t = 0) = v0 sen θ

A coordenada x(t) sera

x =v0cos θ

k

(

1 − e−kt)

e a coordenada y(t)

Page 166: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 140

Com as condicoes iniciais sao:{

x(t = 0) = 0y(t = 0) = 0

{

x(t = 0) = v0cos θy(t = 0) = v0 sen θ

A coordenada x(t) sera

x =v0cos θ

k

(

1 − e−kt)

e a coordenada y(t)

y(t) = −g

kt +

1

(

v0 sen θ +g

k

)

(

1 − e−kt)

O tempo de voo T pode ser obtido darelacao y(T ) = 0

Page 167: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 140

Com as condicoes iniciais sao:{

x(t = 0) = 0y(t = 0) = 0

{

x(t = 0) = v0cos θy(t = 0) = v0 sen θ

A coordenada x(t) sera

x =v0cos θ

k

(

1 − e−kt)

e a coordenada y(t)

y(t) = −g

kt +

1

(

v0 sen θ +g

k

)

(

1 − e−kt)

O tempo de voo T pode ser obtido darelacao y(T ) = 0

− g

kT +

1

k

(

v0 sen θ +g

k

)

(

1 − e−kT)

= 0

ou seja,

Page 168: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 140

Com as condicoes iniciais sao:{

x(t = 0) = 0y(t = 0) = 0

{

x(t = 0) = v0cos θy(t = 0) = v0 sen θ

A coordenada x(t) sera

x =v0cos θ

k

(

1 − e−kt)

e a coordenada y(t)

y(t) = −g

kt +

1

(

v0 sen θ +g

k

)

(

1 − e−kt)

O tempo de voo T pode ser obtido darelacao y(T ) = 0

− g

kT +

1

k

(

v0 sen θ +g

k

)

(

1 − e−kT)

= 0

ou seja,

T =kv0 sen θ + g

kg

(

1 − e−kT)

Page 169: Ferramentas_Cientificas

Exemplo: Lancamento de proj eteis

II Semana Ciencias Exatas Salviano A. Leao – 141

Use o Scilab para resolver a equacaotrancendental anterior, definindo afuncao:

deff(′[y] = f ′,′f(t) = kgT − (kv0

sen θ − g)

(1 − exp(−kt))′);

Use os seguintes valores:

■ g = 9.8 m/s2

■ k = 2

■ v0 = 15 m/s

■ θ = 45◦

Responda as seguintes questoes:

■ Qual e o tempo que o corpo levapara atingir o ponto mais alto datrajetoria.

■ Encontre o tempo de queda.

■ O tempo de queda e igual aodesubida?

Page 170: Ferramentas_Cientificas

Maxima

II Semana Ciencias Exatas Salviano A. Leao – 142

Page 171: Ferramentas_Cientificas

Maxima

II Semana Ciencias Exatas Salviano A. Leao – 143

Page 172: Ferramentas_Cientificas

Interface Gr afica WxMaxima

II Semana Ciencias Exatas Salviano A. Leao – 144

Page 173: Ferramentas_Cientificas

Interface Gr afica XMaxima

II Semana Ciencias Exatas Salviano A. Leao – 145

Page 174: Ferramentas_Cientificas

Tutoriais do maxima

II Semana Ciencias Exatas Salviano A. Leao – 146

Um bom numero de tutoriais em portugues estao catalogados na pagina domaxima http://maxima.sourceforge.net/docs.shtml

■ Maxima reference manual in Brazilian Portuguese (HTML)http://maxima.sourceforge.net/docs/manual/pt BR/maxima.html

■ O Programa de Algebra Computacional Maximahttp://maxima.sourceforge.net/docs/tutorial/pt/gaertner-tutorial-revision/Contents.htm

■ Maxima Mınimohttp://maxima.sourceforge.net/docs/tutorial/pt/minimal-maxima.pdf

■ Introducao aos sistemas dinamicos: uma abordagem pratica com Maxima byJaime http://fisica.fe.up.pt/maxima/book/sistdinam-1 2.pdf

Page 175: Ferramentas_Cientificas

Operadores Aritm eticos

II Semana Ciencias Exatas Salviano A. Leao – 147

Sımbolo Exemplo Explicacao

+ a + b Adicao− a − b Subtracao∗∗ a ∗ ∗b Exponenciacao∧ a ∧ b Exponenciacao∗ a ∗ b Multiplicacao/ a/b Divisao

Page 176: Ferramentas_Cientificas

Maxima como uma calculadora

II Semana Ciencias Exatas Salviano A. Leao – 148

O Maxima pode ser usado como uma calculadora de precisao arbitraria. Eleespera que voce entre com um ou mais comandos e expressoes separados pelocaracter ;.

(%i1) 9+7;

(%o1) 16

(%i2) -17*19;

(%o2) -323

(%i3) 10/2;

(%o3) 5

Page 177: Ferramentas_Cientificas

Refer encia ao ultimo resultado

II Semana Ciencias Exatas Salviano A. Leao – 149

No Maxima podemos nos referir ao resultado do ultimo comando com o caracter%, e a qualquer entrada (input) ou saıda (output) previa pelos seus respectivosprompts: %i (input) or %o (output). Por exemplo:

(%i4) % - 10;

(%o4) -5

(%i5) %o1 * 3;

(%o5) 48

Page 178: Ferramentas_Cientificas

Caracterıticas do Maxima

II Semana Ciencias Exatas Salviano A. Leao – 150

■ As operacoes basicas sao digitadas por linha, e termina com um ponto evirgula ;.

■ O sinal de atribuicao e o :=.

■ O sinal de atribuicao de valores e o :.

■ O %pi e o numero pi.

Exemplos:

f(x):=2*x^2-3x+1;

f(1);

integrate(1/(1+x^3),x)

diff(cos(x),x);

Page 179: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 151

O Maxima calcula integrais definidas

integrate( 1/(1+x^2), x, 0, 1 );

Ele faz graficos

plot2d(sin(x),[x,0 ,2*%pi])

plot3d(x^2-y^2,[x,-2,2],[y,-2,2],[grid ,12 ,12])

Tambem calcula limites, para x −→ ∞limit( (2*x+1)/(3*x+2), x,inf );

limit( sin(3*x)/x, x ,0);

Page 180: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 152

O Maxima pode realizar calculos com precisao arbitraria

block([ fpprec :100] ,bfloat(%pi));

block([ fpprec :100] ,sin(bfloat(%pi));

O Maxima resolve equacoes

solve([x+y+z=5,3*x-5*y=10,y+2*z=3],[x,y,z]);

solve(x^2-5*x+6 =0,x);

O Maxima resolve numericamente

find_root(5*x-exp(x),x,0.5 ,5);

Trabalha com matrizes. Entre com seus valores

A:matrix ([1 ,2] ,[3 ,4]);

B:matrix ([1 ,1] ,[1 ,1]);

Page 181: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 153

As matrizes podem ser adicionadas

A + B;

A . B;

A^^-1;

determinant(matrix([a,b],[c,d]));

transpose(A);

Page 182: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 154

O Maxima pode resolver equacoes diferenciais analiticamente e numericamente.

ode2(’diff(y,x)+3*x*y = sin(x)/x, y,x);

ode2(’diff(y,x) -y = 1, y,x);

ode2(’diff(y,x,2) - y = 1, y,x);

Voce pode dar um nome para uma equacao

eq:’diff(y,x) = -y;

ode2(eq, y, x);

Para obter uma solucao para um valor inicial usamos a funcao ic1, para definir acondicao inicial. Posteriormente armazenamos a solucao na variavel sol.

sol: ic1(%, x= 1, y= 8);

plot2d(rhs (sol),[x,-4,4],[y, -10 ,10]);

Page 183: Ferramentas_Cientificas

Teoria de Numeros

II Semana Ciencias Exatas Salviano A. Leao – 155

expand((x+y)^6);

factor(x^6 -1);

factor (123412341231234);

factor (2^(2^5)+1);

100!;

bfloat(%pi);

block([ fpprec :1000] ,bfloat(%pi));

cfdisrep([1 ,2 ,3 ,5 ,2]);

bfloat (%);

Page 184: Ferramentas_Cientificas

Programac ao

II Semana Ciencias Exatas Salviano A. Leao – 156

for a:-3 thru 26 step 7 do ldisplay(a);

s:0; for i:1 while i<=10 do s:s+i; done; s;

fib[0]:0; fib [1]:1; fib[n]:=fib[n-1]+ fib[n-2];

fib[20];

Page 185: Ferramentas_Cientificas

Graficos

II Semana Ciencias Exatas Salviano A. Leao – 157

plot2d(sin(x)/x,[x, -5 ,5]);

plot3d(sin(sqrt(x^2+y^2))/sqrt(x^2+y^2),[x,-12,12],[y, -12 ,12]);

plot3d([cos(y)*(10.0+6*cos(x)),sin(y)*(10.0+6*cos(x)),-6*sin(x)],

[x,0 ,2*%pi],[y,0 ,2*%pi],[’grid ,40 ,40]);

plot3d ([5* cos(x)*(cos(x/2)* cos(y)+sin(x/2)* sin(2*y)+3.0) -10.0 ,

-5*sin(x)*(cos(x/2)* cos(y)+sin(x/2)* sin(2*y)+3.0) ,

5*(-sin(x/2)* cos(y)+cos(x/2)* sin(2*y))],

[x,-%pi ,%pi],[y,-%pi ,%pi],[’grid ,40,40]);

plot2d(sec(x),[x,-2,2],[y,-20,20],[nticks ,200]);

plot2d([parametric ,cos(t),sin(t),[t,-%pi*2,%pi *2]]);

plot2d([x^3+2 ,[parametric ,cos(t),sin(t),[t,-5,5]]], [x, -3 ,3]);

Page 186: Ferramentas_Cientificas

Diferenciac ao e Integrac ao

II Semana Ciencias Exatas Salviano A. Leao – 158

diff(sin(x^2));

’integrate(%E** sqrt(a*y),y,0 ,4);

integrate(%E**sqrt(a*y),y,0 ,4);

integrate(sin(x),x);

sum((1/2)^i,i,0,inf);

laplace(delta(T-A)*sin(B*T),T,S);

Page 187: Ferramentas_Cientificas

Maxima R apido

II Semana Ciencias Exatas Salviano A. Leao – 159

■ Limites

limit( (5*x+1)/(3*x-1),x,inf);

■ Equacoes Diferenciais Ordinarias

depends(y,x);

diff(y,x)=(4 -2*x)/(3*y^2 -5);

ode2(%,y,x);

latex(%);

■ Resolver um Sistema Linear de Equacoes

linsolve( [3*x+4*y=7, 2*x+4*y=13], [x,y]);

eq1: x^2 + 3*x*y + y^2 = 0;

eq2: 3*x + y = 1;

solve([eq1 , eq2]);

Page 188: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 160

■ Manipulando Matrizes

a: matrix ([1 ,2] ,[3 ,4]);

b: matrix ([2 ,2] ,[2 ,2]);

a.b;

h[i,j]:=1/(i+j);

a: genmatrix(h,3 ,3);

determinant(a);

b: matrix ([2 ,3] ,[5 ,6]);

echelon(b);

invert(b);

eigenvectors(b);

Page 189: Ferramentas_Cientificas

II Semana Ciencias Exatas Salviano A. Leao – 161

■ Manipulando Arquivos

load(file);

■ Interrompendo uma computacao

factor (2^(2^7)+1);

c

MAXIMA >>:q

■ Saindo do Maxima

quit ();

Page 190: Ferramentas_Cientificas

Obrigado pela atenc ao

II Semana Ciencias Exatas Salviano A. Leao – 162