ferramentas_cientificas
Post on 09-Aug-2015
45 Views
Preview:
TRANSCRIPT
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
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
Software Livre
II Semana Ciencias Exatas Salviano A. Leao – 3
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.
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
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.
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
Sistemas Operacionais
II Semana Ciencias Exatas Salviano A. Leao – 8
■ GNU Operating System
■ GNU/Linux
■ FreeBSD
■ OpenBSD
■ NetBSD
■ FreeDOS
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)
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).
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
Editores de Texto
II Semana Ciencias Exatas Salviano A. Leao – 12
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
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
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.
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.
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
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
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.
Softwares para tratamento deimagens
II Semana Ciencias Exatas Salviano A. Leao – 20
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.
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.
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.
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.
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.
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.
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.
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.
Maquina virtual java
II Semana Ciencias Exatas Salviano A. Leao – 29
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)
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
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
Comunicac ao e internet
II Semana Ciencias Exatas Salviano A. Leao – 33
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.
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;
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;
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 37
1. Distribuicoes cientıficas;
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 37
1. Distribuicoes cientıficas;
2. Softwares cientıficos;
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 37
1. Distribuicoes cientıficas;
2. Softwares cientıficos;
3. Software para tratamento de dados;
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;
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;
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;
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.
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.
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/
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;
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.
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.
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.
Software Livres: Ambientesde Programac ao
II Semana Ciencias Exatas Salviano A. Leao – 44
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.
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.
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.
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.
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.
Gnuplot
II Semana Ciencias Exatas Salviano A. Leao – 49
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 50
1. Funcoes Basicas
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 50
1. Funcoes Basicas
2. Grafico de Funcoes
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
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
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
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
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.
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).
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).
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).
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).
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).
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.
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.
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..
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.
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
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
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
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)
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)
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 ?"
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
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)
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.
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
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
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)
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
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”
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
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.
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)
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.
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""
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
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"
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.
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
Scilab
II Semana Ciencias Exatas Salviano A. Leao – 83
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 84
1. O que e Scilab
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 84
1. O que e Scilab
2. Ambiente do Scilab
Sumario
II Semana Ciencias Exatas Salviano A. Leao – 84
1. O que e Scilab
2. Ambiente do Scilab
3. Algumas Funcoes Primitivas
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
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
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
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
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.
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;
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.
Home Page do Scilab
II Semana Ciencias Exatas Salviano A. Leao – 88
http://www.scilab.org/
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.
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
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
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
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
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
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.
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.
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
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.
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.
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.
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
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
-->
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.
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)
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.
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.
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]
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.
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
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
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
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)
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
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)
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
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
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
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
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.
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
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.
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
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
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 ’’)
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.
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:
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)
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
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.
-->
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)
Taxa de Juros Real EmbutidasNas Compras a Prazo
II Semana Ciencias Exatas Salviano A. Leao – 131
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
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
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}
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}
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
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);
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
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
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,
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
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,
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,
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
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
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)
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
k×
(
v0 sen θ +g
k
)
(
1 − e−kt)
O tempo de voo T pode ser obtido darelacao y(T ) = 0
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
k×
(
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,
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
k×
(
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)
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?
Maxima
II Semana Ciencias Exatas Salviano A. Leao – 142
Maxima
II Semana Ciencias Exatas Salviano A. Leao – 143
Interface Gr afica WxMaxima
II Semana Ciencias Exatas Salviano A. Leao – 144
Interface Gr afica XMaxima
II Semana Ciencias Exatas Salviano A. Leao – 145
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
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
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
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
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);
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);
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]);
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);
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]);
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 (%);
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];
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]);
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);
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]);
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);
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 ();
Obrigado pela atenc ao
II Semana Ciencias Exatas Salviano A. Leao – 162
top related