introdução ao scilab 3.0 parte 1 - dimap.ufrn.brmotta/dim0404/scilab/scilab-slides1.pdf ·...

46
Introdu¸ ao ao Scilab 3.0 Parte 1 Paulo S. Motta Pires [email protected] Departamento de Engenharia de Computa¸ ao e Automa¸ ao Universidade Federal do Rio Grande do Norte NATAL - RN Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 1 / 46

Upload: vudung

Post on 13-Nov-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Introducao ao Scilab 3.0Parte 1

Paulo S. Motta [email protected]

Departamento de Engenharia de Computacao e AutomacaoUniversidade Federal do Rio Grande do Norte

NATAL - RN

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 1 / 46

Contatos Contatos

Enderecos e Creditos

Prof. Paulo S. Motta Pires

e-mail: [email protected]

homepage : www.dca.ufrn.br/~pmotta

Este material pode ser copiado livremente, mantidos os creditos.

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 2 / 46

Conhecimentos Necessarios Pre-requisitos

Pre-requisitos

Basico de Programacao

Criar programas usando um editorAtribuir valores e usar variaveisloops

Conceitos

Escalares (reais, complexos)Vetores, Matrizes

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 3 / 46

Observacoes Perguntas

Observacoes

Perguntas podem ser feitas a qualquer momento

Nao tenho todas as respostas

Proficiencia em programacao = pratica

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 4 / 46

Agenda

Agenda

Parte 1

Introducao: Computacao NumericaO Ambiente Scilab

Parte 2

Operacoes BasicasPolinomios, Vetores, Matrizes e Listas

Parte 3

Programacao

Parte 4

GraficosConsideracoes Finais

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 5 / 46

Computacao Numerica Definicao

Computacao Numerica: Definicao

Utilizacao de computadores para manipulacao de numeros.

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 6 / 46

Computacao Numerica Aplicacoes

Computacao Numerica: Aplicacoes

Pesquisa e Desenvolvimento

Industrias:

PetroquımicaEletricidadeCivilMecanicaAutomobilısticaAeronauticaPrevisao do tempo

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 7 / 46

Computacao Numerica Utilizacao

Computacao Numerica: Utilizacao

Exemplos:

Computacao Grafica

Processamento de Sinais

Processamento de Imagens

Controle de Processos

Automacao Industrial

Fısica

Matematica

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 8 / 46

Computacao Numerica Linguagens

Computacao Numerica: Linguagens

FORTRAN (1954) - FORmula TRANslation

Pascal

C, C++

Java

Python

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 9 / 46

Computacao Numerica Ambientes

Computacao Numerica: Ambientes

Scilab

OCTAVE

R

TELA

Matlab

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 10 / 46

Scilab Logo do Scilab

Scilab: Ambiente de Computacao Numerica

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 11 / 46

Benefıcios Utilizacao do Scilab

Scilab no Ensino de Engenharia

Metodos Computacionais

Algebra Linear Computacional

Processamento Digital de Sinais

Circuitos Eletricos

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 decomputadores na resolucao de problemas numericos e intensivo

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 13 / 46

Benefıcios Historico

Scilab - Historico

Ambiente para a resolucao de problemas numericos

CACSD (Computer Aided Control System Design) - Projeto deSistemas de Controle Auxiliados por Computador

Software Numerico de proposito geral

Criado em 1990 - Franca

INRIAENPC

Distribuıdo na Internet desde 1994

Mantido pelo Consorcio Scilab - Maio de 2003

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 14 / 46

Benefıcios Consorcio Scilab - Componentes

Componentes do Consorcio 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 Consorcio Scilab - Objetivos

Objetivos do Consorcio:

Organizar a cooperacao e intercambio entre os desenvolvedores doScilab visando incorporar ao software os ultimos avancos cientıficos naarea de computacao numerica;

Organizar a cooperacao e intercambio entre os usuarios do Scilab como objetivo de fazer com que o software cumpra requisitos necessariospara que possa ser utilizado com eficiencia na industria, pesquisa eeducacao;

Obter os recursos necessarios para a manutencao da equipe dedesenvolvedores e para garantir suporte adequado aos usuarios

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 16 / 46

Benefıcios Free/Open Source Software

Software Livre e de Codigo Aberto: Vantagens

Vantagens:

Ultima versao sempre disponıvel atraves da Internet

Pode ser legalmente copiado, utilizado, distribuıdo, modificado

Resultados obtidos podem ser divulgados sem nenhuma restricao

Programas podem ser transferidos para terceiros sem imposicoes ouconstrangimentos

Acesso ao codigo fonte, evitando surpresas desagradaveis

Acesso a informacao de alta qualidade

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 17 / 46

Benefıcios Free/Open Source Software

Software Livre e de Codigo Aberto: Vantagens

Participar de uma comunidade cujo principal valor e a irrestrita difusao doconhecimento

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 Documentacao - Manuais

Manuais - www.scilab.org

Help online

Indice de Funcoes

Equivalencia entre funcoes Matlab/Scilab

News Group

Secao de Livros e Artigos Tecnicos sobre Scilab

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 21 / 46

Benefıcios Documentacao - Portugues

Documentacao em Portugues

Introducao ao Scilab - Versao 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 Contribuicoes - Toolboxes

Toolboxes - Contribuicoes

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

Distribuicao gratuita; codigo fonte disponıvel

Linguagem de facil aprendizado

Sistema de auxılo ao usuario - help

Permite a geracao de graficos 2D e 3D

Manipulacao de polinomios

Manipulacao de matrizes

Usuario pode definir suas proprias funcoes

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 Instalacao

Instalacao Linux: Codigo Fonte

Obter o software Sablotron - manipula XML (arquivos help)

Obter o codigo fonte (scilab-3.0-src.tar.gz)

Como root, descompactar (/usr/local) e instalar

tar -zxvf./configuremakemake install

Minha instalacao:

Distribuicao 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 Execucao - Texto

Linux - Ambiente Texto

pmotta@notebook:~$ scilab -nw-------------------------------------------

Scilab-3.0

Copyright (c) 1989-2004Consortium Scilab (INRIA, ENPC)

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

Startup execution:loading initial environment

-->

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 28 / 46

O Ambiente Scilab Execucao - Grafico

Linux - Ambiente Grafico

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 29 / 46

O Ambiente Scilab Execucao - Grafico

Ambiente Grafico - Opcao File

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 30 / 46

O Ambiente Scilab Execucao - Grafico

Ambiente Grafico - Opcao Demos

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 31 / 46

O Ambiente Scilab Execucao - Grafico

Ambiente Grafico - Opcao Help

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 32 / 46

O Ambiente Scilab Execucao - Grafico

Ambiente Grafico - Opcao Help - Configure

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 33 / 46

O Ambiente Scilab Conjunto de Funcoes

Conjunto de Funcoes

Programming - conjunto de comandos que podem ser utilizados naprogramacao com o Scilab;

Graphic Library - conjunto de comandos graficos;

Elementary Functions - conjunto de funcoes elementares;

Input/Output Functions - conjunto de funcoes para entrada esaıda de dados;

Handling of functions and libraries - conjunto de funcoespara manipulacao de funcoes e bibliotecas;

Character string manipulations - conjunto de funcoes paramanipulacao de strings;

GUI and Dialogs - conjunto de funcoes que permitem a criacao dedialogos (menus, por exemplo);

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 34 / 46

O Ambiente Scilab Conjunto de Funcoes

Conjunto de Funcoes

Utilities - conjunto de funcoes com utilidades diversas;

Linear Algebra - conjunto de funcoes usadas em algebra linear;

Polynomial calculations - conjunto de funcoes usadas emcalculos com polinomios;

General System and Control - conjunto de funcoes na area decontrole;

Robust control toolbox - conjunto de funcoes do toolbox decontrole robusto;

Optimization and simulation - biblioteca de funcoes nao-linearespara utilizacao em otimizacao e simulacao;

Signal Processing toolbox - conjunto de funcoes do toolbox deprocessamento de sinais;

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 35 / 46

O Ambiente Scilab Conjunto de Funcoes

Conjunto de Funcoes

Arma modelization and simulation toolbox - conjunto defuncoes do toolbox para modelamento e simulacaoARMA-Autoregressive Moving Average;

Metanet: graph and network toolbox - conjunto de funcoes dotoolbox Metanet para analise de grafos;

Scicos: Bloc diagram editor and simulator - conjunto defuncoes para modelagem e simulacao de sistemas dinamicos;

Sound file handling - conjunto de funcoes para manipulacao dearquivos de som;

Language or data translations - conjunto de funcoes paraconversao de dados entre o Scilab e alguns aplicativos;

PVM parallel toolbox - conjunto de funcoes que permitem ogerenciamento da comunicacao com outras aplicacoes usandomaquinas paralelas virtuais;

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 36 / 46

O Ambiente Scilab Conjunto de Funcoes

Conjunto de Funcoes

TdCs - conjunto de funcoes com utilidades diversas;

TCL/Tk interface - conjunto de funcoes que permitem a interfacecom as linguagens TCL/Tk;

Statistic basics - conjunto de funcoes para calculos estatısticos;

Cumulative Distribution Functions; Inverse, grand -conjunto de funcoes de distribuicao cumulativa, inversa e geradora denumeros randomicos;

Identification - conjunto de funcoes para tratamento de sistemasdiscretos;

Matlab to Scilab conversion tips - conjunto de funcoes para aconversao de arquivos de programas Matlab em Scilab.

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 37 / 46

O Ambiente Scilab Editor

Ambiente Grafico - Opcao Editor

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 38 / 46

O Ambiente Scilab Variaveis 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 Variaveis Importantes

Variaveis Importantes

%i - representa√

(− 1)%pi - representa π = 3, 1415926. . .

%e - representa a constante de Euler e = 2.7182818. . .

Variaveis com valores booleanos: %T, %t significando“verdadeiro”(true) e %F, %f significando“falso” (false).

SCI - diretorio onde o Scilab foi instalado

PWD - diretorio onde o Scilab foi lancado

home - diretorio do usuario que lanca o Scilab

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 40 / 46

O Ambiente Scilab Manipulacao de Diretorios

Manipulacao de Diretorios

pwd - mostra o diretorio de trabalho

chdir, cd - muda o diretorio de trabalho

ls - mostra o conteudo do diretorio atual

Obs.: pwd e diferente de PWD.

Paulo Motta (DCA-UFRN) Scilab 3.0 2005.1 41 / 46

O Ambiente Scilab Armazenando Variaveis

Armazenamento de Variaveis

save(’dados.dat’,a,b) - salva as variaveis a, b no arquivodados.dat

load(’dados.dat’,’a’,’b’) - recupera as variaveis a, b,armazenadas no arquivo dados.dat

Obs.: O arquivo dados.dat e binario.

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 - Funcao besselk

Help da funcao besselk

O nome da funcao, como implementado pelo Scilab;

O(s) comando(s) de chamada da funcao, Calling Sequence;

Os parametros da funcao, Parameters;

Uma descricao da funcao implementada, Description;

Exemplos de utilizacao da funcao, Examples;

Funcoes relacionadas, See Also, e neste caso,

Autor da funcao, 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