• Nenhum resultado encontrado

SCILAB. Scilab Dr.ª Eng.ª Mariana Santos Matos Cavalca Eng.º Eduardo Bonci Cavalca

N/A
N/A
Protected

Academic year: 2021

Share "SCILAB. Scilab Dr.ª Eng.ª Mariana Santos Matos Cavalca Eng.º Eduardo Bonci Cavalca"

Copied!
65
0
0

Texto

(1)

SCILAB

Dr.ª Eng.ª Mariana Santos Matos Cavalca

Eng.º Eduardo Bonci Cavalca

(2)

Principais objetivos:

Primeiro contato com o software livre SCILAB para apoio à projetos

de engenharia de controle.

Software disponível para download em:

http://www.scilab.org/products/scilab/download

(3)

Algumas apostilas e tutoriais:

Scilab for Real Dummies

www.heikell.fi/downloads/scilab.ppt

Scilab/Xcos tutorials

https://sites.google.com/site/matlinkit/scilab

Introdução ao Scilab

http://www.dca.ufrn.br/~pmotta/sciport-3.0.pdf

Scilab 5.x

http://euler.mat.ufrgs.br/~giacomo/Manuais-softw/SCILAB/Apostila%20de%20Scilab%20-%20atualizada.pdf

http://wiki.scilab.org/Tutorials

(4)

Agenda do Minicurso

1.

Módulo 1 – Conceitos Básicos

2.

Módulo 2 – Programação

3.

Módulo 3 – Ferramentas Gráficas

4.

Módulo 4 – Sistemas de Controle

(5)

MÓDULO 1: CONCEITOS BÁSICOS

Dr.ª Eng.ª Mariana Santos Matos Cavalca

(6)

Sobre Scilab

É um software livre de apoio à projeto engenharia que se assemelha a

linha de atuação do Matlab;

Desenvolvido desde 1990 pelos pesquisadores do INRIA (Institut

National de Recherche en Informatique et en Automatique) e do ENPC

(École Nationale des Ponts et Chaussées), atualmente é mantido e

desenvolvido pelo Consórcio Scilab desde sua criação em maio de

2003 . É distribuído gratuitamente via internet desde 1994;

A versão atual inclui o módulo Xcos que se assemelha ao Simulink do

(7)

Scilab x Matlab

Linguagem semelhante, com enfoque matricial inclusive;

SCILAB é livre e atualmente tem sido alvo de atualizações;

Diversos módulos específicos tem sido desenvolvidos, inclusive

ferramentas específicas para área de controle;

Desenvolvimento do ambiente Xcos, que possui funcionalidade

similar ao Simulink/Matlab;

(8)
(9)

Área de trabalho: versão 5.3.3

Menu

Toolbar

(10)
(11)

Menu: Arquivo

• Executar...: Executa Scilab

scripts;

• Abrir um arquivo…: Abre um arquivo Scilab;

• Alterar diretório atual/ Exibir diretório atual: o diretório atual deve ser o mesmo onde se

encontram os arquivos que você está trabalhando.

(12)
(13)
(14)
(15)

Menu: Aplicativos

SciNotes: Abre o editor de

texto do Scilab; Xcos: Abre Xcos;

Tradutor de Matlab para Scilab: converte um arquivo em .m (Matlab) para um arquivo em .sci (Scilab);

Atoms: Abre o gerenciador de módulos;

Navegador de variáveis: Abre uma lista de variáveis atuais;

Histórico de comandos: Abre uma lista com os comandos utilizados.

(16)
(17)

Toolbar

1. SciNote 2. Abrir Arquivo 3. Recortar 4. Copiar 5. Colar

6. Alterar diretório atual 7. Escolher Fonte 8. Imprimir 9. ATOMS 10. XCOS 11. Demonstrações 12. Ajuda

(18)

Ajuda

Existem três principais caminhos para acessar o help do Scilab: 1. Digite help, o nome da função e pressione enter;

2. Tecle F1;

(19)
(20)

Ajuda

Selecionando o botão Play no examplo, os comandos são executados.

(21)

SciNotes

• O editor de texto é o ambiente no qual scripts são

desenvolvidos, “debugados” e executados;

• São arquivos Scilab: *.sce

(default) ou *.sci ;

• Uma grande vantagem do

SciNote é a possibilidade de salvar códigos e reutilizá-los.

(22)
(23)
(24)
(25)
(26)
(27)

SciNotes: Executar

Existem três opções para execução de arquivos:

... file with no echo: comando de execução básico;

... file with echo: executa o script e o mostra no console; ... until the caret, with echo: executa até o ponto do cursor.

(28)
(29)

SciNotes: Toolbar

1. Novo 2. Abrir 3. Abre em …/modules 4. Salvar 5. Salvar como 6. Imprimir 7. Desfazer 8. Refazer 9. Recortar 10. Copiar 11. Colar 12. Localizar/Substituir 13. Busca Incrementar 14. Executar 15. Executar e Salvar

(30)

Ajustando as Janelas

Clique com o botão esquerdo do mouse na barra em negrito da janela ativa e então a arraste em cima da outra janela e solte.

(31)

Ajustando as Janelas

Clique com o botão esquerdo do mouse na barra em negrito da janela ativa e então a arraste em cima da outra janela e solte.

(32)

Comandos de usuário:

O Scilab tem dois tipos de comandos definidos pelo usuário:

Scripts: Um conjunto de comandos utilizado para automaticamente

realizar alguma simulação numérica;

Funções (macros): Programas pequenos que tipicamente envolvem

variáveis de saída e de entrada. As funções definidas pelo usuário podem ser locais ou globais.

(33)

Funções matemáticas comuns

sin(), cos(), tan(), cotg() Funções trigonométricas, exemplo: sin(.2*%pi)

asin(), acos(), atan()

sinh(), cosh(), tanh(), coth()

Funções hiperbólicas asinh(), acosh(), atanh()

sqrt(), exp() Raiz quadrada e exponencial (e^)

sum() Somatório

min(), max() Valor mínimo e máximo abs(), sign() Valor absoluto, sinal

real(), imag() Partes real e imaginária de um número complexo.

(34)

Variáveis pré-definidas e Constantes

%i i = √-1 %pi π = 3.1415927…. %e e = 2.7182818…. %eps ε = 2.22 · 10-16 %inf Infinito

%nan “Not a Number”

%s s

%z z

%t, %T true %f, %F false

(35)

Operadores

; Fim de uma expressão, separador de linhas

, Separador de instruções, argumentos ou colunas ' Matriz conjugada transposta, delimitador de uma

string*

. ' Matriz não-conjugada transposta [] Concatenação de vetores e matrizes

() Argumento, modificar ordem de execução de operadores, dentre outros

+ , - Adição e Subtração

* , .* Multiplicação e multiplicação elemento por elemento

(36)

Operadores

/ , ./ Divisão à direita, divisão à direita elemento por elemento

\ , .\ Divisão à esquerda, divisão à esquerda elemento por elemento

^ or ** , .^ Potência, potência elemento por elemento

| OR

& AND

~ NOT

==, >=, <=, >, <, < >, ~=

Igual a, maior ou igual que, menor ou igual que, maior que, menor que, diferente de (tanto <> quanto ~=)

(37)
(38)
(39)
(40)
(41)

Funções de arredondamento

round() Arredonda para o maior

número inteiro

fix()ou

int() Retorna a parte inteira floor() Arredonda para um

número inteiro menor

ceil() Arredonda para um

(42)
(43)

Lista de variáveis

O comando browsevar abre o

navegador de variáveis que informa as variáveis definidas no momento bem como seu tipo, tamanho e nível de visibilidade (local ou global).

(44)

Precisão computacional

Cuidado com erros de precisão (arredondamentos)!

(45)
(46)

Dicas Adicionais:

Ao se pressionar a tecla “seta para cima”

podemos selecionar os comandos utilizados

recentemente;

Se você não lembrar do nome inteiro de

uma função, escreva o começo e pressione

tab que uma lista de funções aparecerá.

(47)
(48)

Polinômios



Para declarar o polinômio P(s)=s^2-3s+2=(s-1)(s-2),

existem quatro formas:



Pelas raízes: p = poly([ 1 2 ], 's')



Pelos coeficientes: p = poly([ 2 3 1 ], 's' , 'coeff ' )

(os coeficiente devem ser colocados do menor grau para

o maior);



Criando a variável: s = poly(0, ‘s’);

p = s^2-3*s+2

(49)
(50)
(51)

Matrizes e Vetores

Operações soma, subtração, multiplicação, divisão e concatenação

de matrizes conforme o Matlab (cuidado com as dimensões!);

inv() – calcula o inverso de uma matriz;

det() – calcula o determinante de uma matriz

ones(l,c) e zeros(l,c) – gera matrizes de l linhas e c colunas com

elementos 1 ou 0;

[l,c]=size() – retorna o número de linhas e colunas;

sum() – retorna a soma de todos os elementos da matriz;

sum(A,’c’) e sum(A,’r’) - retorna a soma das linhas e das colunas de

uma matriz A respectivamente (é invertido porque o primeiro retorna

um vetor coluna e o segundo um vetor linha);

diag() – retorna um vetor coluna com os elementos da diagonal

(52)

Matrizes e Vetores

min(), max(), mean() – retorna o valor minimo, máximo ou a

média dos elementos de uma matriz;

min(A,’c’), min(A,’r’), max(A,’c’), max(A,’r’), mean(A,’c’),

mean(A,’r’), - retorna o menor/maior valor ou média de cada

linha e/ou coluna de uma matriz A;

find() – identifica e retorna a localização em linha dos

elementos de uma matriz que atendem uma condição

Booleana;

gsort() – retorna uma matriz com os elementos em ordem

decrescente;

Para gerar uma sequência de números faça Nini: Passo: Nfin;

$ - reference ao último valor de uma matriz.

(53)

Strings

Strings podem ser definidos por aspas simples ou duplas:

‘Isto é uma string

, e isto também

disp(), string() – mostra uma mensagem de texto na linha de

comando. Variáveis devem ser convertidas para string com a

função string().

(54)
(55)

solve(): Solucionador simbólico de sistemas lineares

Substitui em w os valores de a, x e y definidos no workspace.

(56)

fsolve(): encontra o zero de um sistema não-linear

Retorna apenas o zero mais próximo do valor inicial.

Para obter as duas raízes, neste caso podemos forçar uma condição inicial negativa.

(57)

Exercício 1: Comando Plot

Seja x=[0 0.1 0.2 0.3 … 10]. Plote o valor de y=0.5*x.*sin(2*x).

(58)

Exercício 1 : Comando Plot

Seja x=[0 0.1 0.2 0.3 … 10]. Plote o valor de y=0.5*x*sin(2*x).

(59)

Gráficos

• O comando plot retorna um gráfico simples sem título, labels dos eixos ou grade; • Se você utilizar o comando

plot novamente sem fechar a janela gráfica, o novo gráfico será traçado em cima do antigo;

• Para limpar uma janela gráfica podemos utilizar o comando clf. Outros comandos interessantes são: • clear: apaga as variáveis da área de trabalho; • clc: limpa a linha de comando.

(60)

Gráficos

• Para incluir detalhes em um gráfico utilize os comandos:

• Legend(‘xxx’) • Xgrid()

• Xtitle(‘xxx’) • Xlabel(‘xxx’) • ylabel(‘xxx’)

(61)

Exercício 2: Bingo

1: Crie uma função que retorna um número aleatório de 1-99.

Dicas:

• Utilize o comando rand na opção uniform (0-1) e normalize para 1-99.

• Para definir uma função faça: 1. function [x1, ..., xn] =

nomeDaFunção (p1, ...,pn) 2. Código da função

3. Endfunction

• Para executar uma função faça:

1. exec('nome_do_arquivo.sci') 2. [parametros,de,saida]=nome_da

(62)

Exercício 3: Solução de um sistema de equações

Resolva o seguinte sistema de equações:

x1 + 2x2 – x3 = 1 -2x1 – 6x2 + 4x3 = -2 -x1 – 3x2 + 3x3 = 1

Dica: Reescreva o problema da forma:

1 b = -2 1 1 2 –1 A = -2 –6 4 , -1 –3 3

(63)

Resolva o seguinte sistema de equações:

x1 + 2x2 – x3 = 1 -2x1 – 6x2 + 4x3 = -2 -x1 – 3x2 + 3x3 = 1

Dica: Reescreva o problema da forma:

1 b = -2 1 1 2 –1 A = -2 –6 4 , -1 –3 3 Solução: x1 -1 x2 = 2 x3 2

(64)

Explore o ambiente Scilab:

Menus;

Funções básicas;

Help.

(65)

MÓDULO 1: CONCEITOS BÁSICOS

Dr.ª Eng.ª Mariana Santos Matos Cavalca Obrigada!

Referências

Documentos relacionados

 Necessidade de troca dos gravadores de vídeo atuais para atendimentos aos novos prazos de retenção das imagens na mídia original, bem como funções para proteção das imagens

01) por muito tempo as pesquisas históricas privilegiaram as fontes escritas, mas atualmente entende-se que todo tipo de registro dos atos e pensamentos da sociedade pode ser usado

Apesar da elevada frequência dessa patologia nos consultórios médicos, a (APF) ainda é um desafio para ser diagnosticada e terapêutico para o profissional dermatologista e

Description of a new species of annual fish of the genus Neofundulus (Cyprinodontiformes: Rivulidae) from the upper río Mamoré basin, Bolivia.. Spectrolebias pilleti, a new

Tal referencia de Pausanias e o mais antigo testemunho de uma Hecate do tipo zpipopcpoc, pois que seu autor, Alcamenes, e escultor contemporaneo de Fidias e, continua

Assim, este estudo teve como objetivo verificar a influência do fotobionte (amendoim e sorgo) e de sucessivos ciclos de multiplicação em potes de cultura sobre a detecção de FMA

Eixo Tecnológico Habilitação Período Séries / Módulos Total 1.ª/1.º 2.ª/2.º 3.ª/3.º 4.º Gestão e Negócios Administração Noite 80 34 114 Contabilidade Noite 38 38

you e sumidouro no espelho), mistura e distanciamento (sumidouro no espelho e carnaval que traz aumento de desenganos). E essa convivência se verifica não só na letra,