Buscar

Introdução ao Scilab - UFRN - parte 01

Prévia do material em texto

Introduc¸a˜o ao Scilab 3.0
Parte 1
Paulo S. Motta Pires
pmotta@dca.ufrn.br
Departamento de Engenharia de Computac¸a˜o e Automac¸a˜o
Universidade Federal do Rio Grande do Norte
NATAL - RN
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 1 / 46
Contatos Contatos
Enderec¸os e Cre´ditos
Prof. Paulo S. Motta Pires
e-mail: pmotta@dca.ufrn.br
homepage : www.dca.ufrn.br/~pmotta
Este material pode ser copiado livremente, mantidos os cre´ditos.
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 2 / 46
Conhecimentos Necessa´rios Pre´-requisitos
Pre´-requisitos
Ba´sico de Programac¸a˜o
Criar programas usando um editor
Atribuir valores e usar varia´veis
loops
Conceitos
Escalares (reais, complexos)
Vetores, Matrizes
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 3 / 46
Observac¸o˜es Perguntas
Observac¸o˜es
Perguntas podem ser feitas a qualquer momento
Na˜o tenho todas as respostas
Proficieˆncia em programac¸a˜o = pra´tica
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 4 / 46
Agenda
Agenda
Parte 1
Introduc¸a˜o: Computac¸a˜o Nume´rica
O Ambiente Scilab
Parte 2
Operac¸o˜es Ba´sicas
Polinoˆmios, Vetores, Matrizes e Listas
Parte 3
Programac¸a˜o
Parte 4
Gra´ficos
Considerac¸o˜es Finais
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 5 / 46
Computac¸a˜o Nume´rica Definic¸a˜o
Computac¸a˜o Nume´rica: Definic¸a˜o
Utilizac¸a˜o de computadores para manipulac¸a˜o de nu´meros.
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 6 / 46
Computac¸a˜o Nume´rica Aplicac¸o˜es
Computac¸a˜o Nume´rica: Aplicac¸o˜es
Pesquisa e Desenvolvimento
Indu´strias:
Petroqu´ımica
Eletricidade
Civil
Mecaˆnica
Automobil´ıstica
Aerona´utica
Previsa˜o do tempo
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 7 / 46
Computac¸a˜o Nume´rica Utilizac¸a˜o
Computac¸a˜o Nume´rica: Utilizac¸a˜o
Exemplos:
Computac¸a˜o Gra´fica
Processamento de Sinais
Processamento de Imagens
Controle de Processos
Automac¸a˜o Industrial
F´ısica
Matema´tica
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 8 / 46
Computac¸a˜o Nume´rica Linguagens
Computac¸a˜o Nume´rica: Linguagens
FORTRAN (1954) - FORmula TRANslation
Pascal
C, C++
Java
Python
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 9 / 46
Computac¸a˜o Nume´rica Ambientes
Computac¸a˜o Nume´rica: Ambientes
Scilab
OCTAVE
R
TELA
Matlab
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 10 / 46
Scilab Logo do Scilab
Scilab: Ambiente de Computac¸a˜o Nume´rica
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 11 / 46
Benef´ıcios Utilizac¸a˜o do Scilab
Scilab no Ensino de Engenharia
Me´todos Computacionais
A´lgebra Linear Computacional
Processamento Digital de Sinais
Circuitos Ele´tricos
Outras
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 12 / 46
Benef´ıcios Linhas de Pesquisa
Scilab em Pesquisa
Ferramenta de suporte para linhas de pesquisa onde o uso de
computadores na resoluc¸a˜o de problemas nume´ricos e´ intensivo
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 13 / 46
Benef´ıcios Histo´rico
Scilab - Histo´rico
Ambiente para a resoluc¸a˜o de problemas nume´ricos
CACSD (Computer Aided Control System Design) - Projeto de
Sistemas de Controle Auxiliados por Computador
Software Nume´rico de propo´sito geral
Criado em 1990 - Franc¸a
INRIA
ENPC
Distribu´ıdo na Internet desde 1994
Mantido pelo Conso´rcio Scilab - Maio de 2003
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 14 / 46
Benef´ıcios Conso´rcio Scilab - Componentes
Componentes do Conso´rcio Scilab
Appedge
AXS Inginierie
TNI
Cril Technology
Esterel Technology
CEA
CNES
Dassault Aviation
EDF
ENPC
INRIA
PSA Peugeot Citroen
Renault
Thales
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 15 / 46
Benef´ıcios Conso´rcio Scilab - Objetivos
Objetivos do Conso´rcio:
Organizar a cooperac¸a˜o e intercaˆmbio entre os desenvolvedores do
Scilab visando incorporar ao software os u´ltimos avanc¸os cient´ıficos na
a´rea de computac¸a˜o nume´rica;
Organizar a cooperac¸a˜o e intercaˆmbio entre os usua´rios do Scilab com
o objetivo de fazer com que o software cumpra requisitos necessa´rios
para que possa ser utilizado com eficieˆncia na indu´stria, pesquisa e
educac¸a˜o;
Obter os recursos necessa´rios para a manutenc¸a˜o da equipe de
desenvolvedores e para garantir suporte adequado aos usua´rios
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 16 / 46
Benef´ıcios Free/Open Source Software
Software Livre e de Co´digo Aberto: Vantagens
Vantagens:
U´ltima versa˜o sempre dispon´ıvel atrave´s da Internet
Pode ser legalmente copiado, utilizado, distribu´ıdo, modificado
Resultados obtidos podem ser divulgados sem nenhuma restric¸a˜o
Programas podem ser transferidos para terceiros sem imposic¸o˜es ou
constrangimentos
Acesso ao co´digo fonte, evitando surpresas desagrada´veis
Acesso a informac¸a˜o de alta qualidade
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 17 / 46
Benef´ıcios Free/Open Source Software
Software Livre e de Co´digo Aberto: Vantagens
Participar de uma comunidade cujo principal valor e´ a irrestrita difusa˜o do
conhecimento
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 18 / 46
Benef´ıcios Homepage do Scilab
www.scilab.org
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 19 / 46
Benef´ıcios Homepage do Scilab
www.scilab.org
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 20 / 46
Benef´ıcios Documentac¸a˜o - Manuais
Manuais - www.scilab.org
Help online
I´ndice de Func¸o˜es
Equivaleˆncia entre funco˜es Matlab/Scilab
News Group
Sec¸a˜o de Livros e Artigos Te´cnicos sobre Scilab
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 21 / 46
Benef´ıcios Documentac¸a˜o - Portugueˆs
Documentac¸a˜o em Portugueˆs
Introduc¸a˜o ao Scilab - Versa˜o 3.0
Dispon´ıvel em: www.dca.ufrn.br/~pmotta
Rau-Tu do Scilab: www.rau-tu.unicamp.br/scilab
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 22 / 46
Benef´ıcios Contribuic¸o˜es - Toolboxes
Toolboxes - Contribuic¸o˜es
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 23 / 46
Benef´ıcios Toolboxes - Exemplos
Modelagem e Controle
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 24 / 46
Benef´ıcios Manuais
Manuais
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 25 / 46
O Ambiente Scilab Caracter´ısticas
Scilab: Resumo das Caracter´ısticas
Distribuic¸a˜o gratuita; co´digo fonte dispon´ıvel
Linguagem de fa´cil aprendizado
Sistema de aux´ılo ao usua´rio - help
Permite a gerac¸a˜o de gra´ficos 2D e 3D
Manipulac¸a˜o de polinoˆmios
Manipulac¸a˜o de matrizes
Usua´rio pode definir suas pro´prias func¸o˜es
Acessa rotinas em C e em FORTRAN
Acessado por MuPAD e Maple
Permite criar toolboxes
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 26 / 46
O Ambiente Scilab Instalac¸a˜o
Instalac¸a˜o Linux: Co´digo Fonte
Obter o software Sablotron - manipula XML (arquivos help)
Obter o co´digo fonte (scilab-3.0-src.tar.gz)
Como root, descompactar (/usr/local) e instalar
tar -zxvf
./configure
make
make install
Minha instalac¸a˜o:
Distribuic¸a˜o Slackware 10.0
kernel Linux 2.4.26
/usr/bin: scilab -> /usr/local/scilab-3.0/bin/scilab
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 27 / 46
O Ambiente Scilab Execuc¸a˜o - Texto
Linux - Ambiente Texto
pmotta@notebook:~$ scilab -nw
-------------------------------------------
Scilab-3.0
Copyright (c) 1989-2004
Consortium Scilab (INRIA, ENPC)
-------------------------------------------
Startup execution:
loading initial environment
-->
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 28 / 46
O Ambiente Scilab Execuc¸a˜o - Gra´fico
Linux - Ambiente Gra´fico
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 29 / 46
O Ambiente Scilab Execuc¸a˜o - Gra´fico
Ambiente Gra´fico - Opc¸a˜o File
Paulo Motta (DCA-UFRN) Scilab 3.02005.1 30 / 46
O Ambiente Scilab Execuc¸a˜o - Gra´fico
Ambiente Gra´fico - Opc¸a˜o Demos
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 31 / 46
O Ambiente Scilab Execuc¸a˜o - Gra´fico
Ambiente Gra´fico - Opc¸a˜o Help
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 32 / 46
O Ambiente Scilab Execuc¸a˜o - Gra´fico
Ambiente Gra´fico - Opc¸a˜o Help - Configure
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 33 / 46
O Ambiente Scilab Conjunto de Func¸o˜es
Conjunto de Func¸o˜es
Programming - conjunto de comandos que podem ser utilizados na
programac¸a˜o com o Scilab;
Graphic Library - conjunto de comandos gra´ficos;
Elementary Functions - conjunto de func¸o˜es elementares;
Input/Output Functions - conjunto de func¸o˜es para entrada e
sa´ıda de dados;
Handling of functions and libraries - conjunto de func¸o˜es
para manipulac¸a˜o de func¸o˜es e bibliotecas;
Character string manipulations - conjunto de func¸o˜es para
manipulac¸a˜o de strings;
GUI and Dialogs - conjunto de func¸o˜es que permitem a criac¸a˜o de
dia´logos (menus, por exemplo);
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 34 / 46
O Ambiente Scilab Conjunto de Func¸o˜es
Conjunto de Func¸o˜es
Utilities - conjunto de func¸o˜es com utilidades diversas;
Linear Algebra - conjunto de func¸o˜es usadas em a´lgebra linear;
Polynomial calculations - conjunto de func¸o˜es usadas em
ca´lculos com polinoˆmios;
General System and Control - conjunto de func¸o˜es na a´rea de
controle;
Robust control toolbox - conjunto de func¸o˜es do toolbox de
controle robusto;
Optimization and simulation - biblioteca de func¸o˜es na˜o-lineares
para utilizac¸a˜o em otimizac¸a˜o e simulac¸a˜o;
Signal Processing toolbox - conjunto de func¸o˜es do toolbox de
processamento de sinais;
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 35 / 46
O Ambiente Scilab Conjunto de Func¸o˜es
Conjunto de Func¸o˜es
Arma modelization and simulation toolbox - conjunto de
func¸o˜es do toolbox para modelamento e simulac¸a˜o
ARMA-Autoregressive Moving Average;
Metanet: graph and network toolbox - conjunto de func¸o˜es do
toolbox Metanet para ana´lise de grafos;
Scicos: Bloc diagram editor and simulator - conjunto de
func¸o˜es para modelagem e simulac¸a˜o de sistemas dinaˆmicos;
Sound file handling - conjunto de func¸o˜es para manipulac¸a˜o de
arquivos de som;
Language or data translations - conjunto de func¸o˜es para
conversa˜o de dados entre o Scilab e alguns aplicativos;
PVM parallel toolbox - conjunto de func¸o˜es que permitem o
gerenciamento da comunicac¸a˜o com outras aplicac¸o˜es usando
ma´quinas paralelas virtuais;
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 36 / 46
O Ambiente Scilab Conjunto de Func¸o˜es
Conjunto de Func¸o˜es
TdCs - conjunto de func¸o˜es com utilidades diversas;
TCL/Tk interface - conjunto de func¸o˜es que permitem a interface
com as linguagens TCL/Tk;
Statistic basics - conjunto de func¸o˜es para ca´lculos estat´ısticos;
Cumulative Distribution Functions; Inverse, grand -
conjunto de func¸o˜es de distribuic¸a˜o cumulativa, inversa e geradora de
nu´meros randoˆmicos;
Identification - conjunto de func¸o˜es para tratamento de sistemas
discretos;
Matlab to Scilab conversion tips - conjunto de func¸o˜es para a
conversa˜o de arquivos de programas Matlab em Scilab.
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 37 / 46
O Ambiente Scilab Editor
Ambiente Gra´fico - Opc¸a˜o Editor
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 38 / 46
O Ambiente Scilab Varia´veis Especiais
Comando who
-->who
your variables are...
%scipad_fontsize show_startupinfo LCC %toolboxes_dir %toolboxes
scicos_pal %scicos_menu %scicos_short %scicos_help
%scicos_display_mode modelica_libs scicos_pal_libs with_gtk with_tk demolist
%helps LANGUAGE SCI MSDOS home PWD TMPDIR xdesslib with_texmacs
percentlib polylib intlib elemlib utillib statslib alglib siglib 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 15025 elements out of 1000000.
and 60 variables out of 9231
your global variables are...
LANGUAGE %helps demolist %browsehelp %toolboxes %toolboxes_dir LCC
%scipad_fontsize
using 1097 elements out of 11000.
and 8 variables out of 767
-->
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 39 / 46
O Ambiente Scilab Varia´veis Importantes
Varia´veis Importantes
%i - representa
√
(− 1)
%pi - representa pi = 3, 1415926. . .
%e - representa a constante de Euler e = 2.7182818. . .
Varia´veis com valores booleanos: %T, %t significando“verdadeiro”
(true) e %F, %f significando“falso” (false).
SCI - direto´rio onde o Scilab foi instalado
PWD - direto´rio onde o Scilab foi lanc¸ado
home - direto´rio do usua´rio que lanc¸a o Scilab
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 40 / 46
O Ambiente Scilab Manipulac¸a˜o de Direto´rios
Manipulac¸a˜o de Direto´rios
pwd - mostra o direto´rio de trabalho
chdir, cd - muda o direto´rio de trabalho
ls - mostra o conteu´do do direto´rio atual
Obs.: pwd e´ diferente de PWD.
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 41 / 46
O Ambiente Scilab Armazenando Varia´veis
Armazenamento de Varia´veis
save(’dados.dat’,a,b) - salva as varia´veis a, b no arquivo
dados.dat
load(’dados.dat’,’a’,’b’) - recupera as varia´veis a, b,
armazenadas no arquivo dados.dat
Obs.: O arquivo dados.dat e´ bina´rio.
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 42 / 46
O Ambiente Scilab Help
Comando help
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 43 / 46
O Ambiente Scilab Help
Comando help
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 44 / 46
O Ambiente Scilab Help Exemplo - Func¸a˜o besselk
Help da func¸a˜o besselk
O nome da func¸a˜o, como implementado pelo Scilab;
O(s) comando(s) de chamada da func¸a˜o, Calling Sequence;
Os paraˆmetros da func¸a˜o, Parameters;
Uma descric¸a˜o da func¸a˜o implementada, Description;
Exemplos de utilizac¸a˜o da func¸a˜o, Examples;
Func¸o˜es relacionadas, See Also, e neste caso,
Autor da func¸a˜o, Author.
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 45 / 46
O Ambiente Scilab Arquivos com Comandos Scilab
Comando diary
Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 46 / 46
	Scilab - Parte 1
	Contatos
	Contatos
	Conhecimentos Necessários
	Pré-requisitos
	Observações
	Perguntas
	Agenda
	
	Computação Numérica
	Definição
	Aplicações
	Utilização
	Linguagens
	Ambientes
	Scilab
	Logo do Scilab
	Benefícios
	Utilização do Scilab
	Linhas de Pesquisa
	Histórico
	Consórcio Scilab - Componentes
	Consórcio Scilab - Objetivos
	Free/Open Source Software
	Free/Open Source Software
	Homepage do Scilab
	Homepage do Scilab
	Documentação - Manuais
	Documentação - Português
	Contribuições - Toolboxes
	Toolboxes - Exemplos
	Manuais
	O Ambiente Scilab
	Características
	Instalação
	Execução - Texto
	Execução - Gráfico
	Execução - Gráfico
	Execução - Gráfico
	Execução - Gráfico
	Execução - Gráfico
	Conjunto de Funções
	Conjunto de Funções
	Conjunto de Funções
	Conjunto de Funções
	Editor
	Variáveis Especiais
	Variáveis Importantes
	Manipulação de Diretórios
	Armazenando Variáveis
	Help
	Help
	Help Exemplo - Função besselk
	Arquivos com Comandos Scilab

Continue navegando