Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Aprendendo o Scilab, Notas de estudo de Física

Apostila sobre o ambiente de programação Scilab

Tipologia: Notas de estudo

2011

Compartilhado em 21/03/2011

jaqueline-vieira-12
jaqueline-vieira-12 🇧🇷

1 documento

1 / 52

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
FÍSICA – INTRODUÇÃO À INFORMÁTICA
SCILAB
1 - APRESENTANDO O SCILAB
1.1 – INTRODUÇÃO
O Scilab é um ambiente utilizado no desenvolvimento de programas para a resolução de
cálculos científicos. Criado e mantido por pesquisadores pertencentes ao Institut de Recherche em
Informatique et en Automatique, INRIA, através do Projeto METALAU (Methods, algorithmes et
logiciels pour l'automatique) e a Ecole Nationale des Ponts et Chaussees, ENPC, o Scilab é
gratuito (Free software) e é distribudo com o código fonte (Open Source software). Mantido e
desenvolvido atualmente pelo Scilab Consortium.
Possui centenas de funções matemáticas com a possibilidade de interação com programas
em várias linguagens como o C e Fortran.
A utilização do Scilab dá-se internacionalmente nos ambientes acadêmicos e industriais
(“clone do Mathlab”), assim o Scilab é uma plataforma em constante atualização e aperfeiçoamento
(Scilab = Scientific Laboratory : Pronúncia em sintaxe fonética internacional é “sailæb”.)
Do ponto de vista conceitual, o Scilab é um interpretador de comandos. Na área de
computação, distinguem-se as linguagens interpretadas das linguagens compiladas, as quais
necessitam de um pré-processamento (ou compilação) antes que seus comandos possam ser
executados. Uma vez compilados, os programas podem ser executados sobre o sistema operacional,
diretamente. Exemplos de linguagens compiladas são C, C++, Pascal e FORTRAN. As linguagens
interpretadas mais comuns são LISP, Smalltalk e BASIC.
A diferença básica entre os dois tipos de linguagens é a necessidade das linguagens
interpretadas contarem com um suporte para execução, como é o caso do ambiente Scilab.
Entretanto, nada impede que ambientes interpretadores tenham uma função de compilação, gerando
programas executáveis que podem ser ativados diretamente sobre o sistema operacional, sem
necessidade do ambiente. O Scilab possui tal funcionalidade.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Pré-visualização parcial do texto

Baixe Aprendendo o Scilab e outras Notas de estudo em PDF para Física, somente na Docsity!

1 - APRESENTANDO O SCILAB

1.1 – INTRODUÇÃO

O Scilab é um ambiente utilizado no desenvolvimento de programas para a resolução de cálculos científicos. Criado e mantido por pesquisadores pertencentes ao Institut de Recherche em Informatique et en Automatique , INRIA, através do Projeto METALAU ( Methods, algorithmes et logiciels pour l'automatique ) e a Ecole Nationale des Ponts et Chaussees , ENPC, o Scilab é gratuito (Free software) e é distribudo com o código fonte (Open Source software). Mantido e desenvolvido atualmente pelo Scilab Consortium. Possui centenas de funções matemáticas com a possibilidade de interação com programas em várias linguagens como o C e Fortran. A utilização do Scilab dá-se internacionalmente nos ambientes acadêmicos e industriais (“clone do Mathlab”), assim o Scilab é uma plataforma em constante atualização e aperfeiçoamento

(Scilab = Scientific Laboratory : Pronúncia em sintaxe fonética internacional é “sailæb”.)

Do ponto de vista conceitual, o Scilab é um interpretador de comandos. Na área de computação, distinguem-se as linguagens interpretadas das linguagens compiladas, as quais necessitam de um pré-processamento (ou compilação) antes que seus comandos possam ser executados. Uma vez compilados, os programas podem ser executados sobre o sistema operacional, diretamente. Exemplos de linguagens compiladas são C, C++, Pascal e FORTRAN. As linguagens interpretadas mais comuns são LISP, Smalltalk e BASIC. A diferença básica entre os dois tipos de linguagens é a necessidade das linguagens interpretadas contarem com um suporte para execução, como é o caso do ambiente Scilab. Entretanto, nada impede que ambientes interpretadores tenham uma função de compilação, gerando programas executáveis que podem ser ativados diretamente sobre o sistema operacional, sem necessidade do ambiente. O Scilab possui tal funcionalidade.

1.2 - PRINCIPAIS BIBLIOTECAS DE FUNÇÕES DO SCILAB

- Biblioteca Gráfica 2-D e 3-D e Animação - Álgebra Linear - Polinômios e Funções Racionais - Integração: Equações Diferencias Ordinárias e Equações Algébrico-Diferenciais - Modelagem e Simulação (Scicos) - Controle Clássico e Robusto - Otimização (Inequações Matriciais Lineares-LMI, Otimização Diferenciável e Não Diferenciável) - Processamento de Sinais - Processamento de Imagens - Grafos e Redes (Metanet) - Scilab para Arquitetura Paralela - Estatística

  • Redes Neurais
  • Lógica Nebulosa (Fuzzy Logic)
  • Controle Ótimo Discreto
  • Interfaces com Softwares de Computação Simbólica (Mapler, MuPAD)

1.3 - ALGUMAS VANTAGENS DO SCILAB

  • É uma poderosa ferramenta para cálculos científicos
  • É de fácil aprendizado
  • A última versão do software esta sempre disponível, geralmente via Internet
  • O software pode ser legalmente utilizado, copiado, distribuído, modificado
  • Os resultados obtidos podem ser divulgados sem nenhuma restrição
  • Os programas desenvolvidos podem ser transferidos para outras pessoas sem imposições de qualquer natureza
  • O acesso ao código fonte, evitando surpresas desagradáveis
  • O acesso a informação de alta qualidade

FÍSICA – INTRODUÇÃO À INFORMÁTICAINTRODUÇÃO À INFORMÁTICA SCILAB

FÍSICA – INTRODUÇÃO À INFORMÁTICA

SCIPAD = EDITOR DE SCRIPTS

SCICOS = SIMULAÇÕES

INTRODUÇÃO À INFORMÁTICA

SCIPAD = EDITOR DE SCRIPTS

SCICOS = SIMULAÇÕES

SCILAB

ans =

-->ans+ 3 ans = 12

2.2 - VARIÁVEIS E O COMANDO DE ATRIBUIÇÃO

Uma variável é uma abstração de uma célula ou um conjunto de células na memória do computador. Informações são armazenas em variáveis para posterior uso. Muitos programadores costumam a interpretar variáveis como sendo um nome para uma posição na memória do computador. Para atribuir ou modificar a informação contida na variável é usado o comando de atribuição. No Scilab, usa-se o símbolo = para atribuição.

OBS: O símbolo de atribuição (=) não significa igualdade matemática, uma vez que o comando de atribuição i = i+ é válido, mas não representa igualdade matemática.

Exemplo: digite estes comandos no prompt do Scilab: -->a = 2 // Atribui 2 para variável a a =

-->b = 4 // Atribui 4 para variável b a =

-->area = a*b // Atribui o produto de a e b para a variável area area =

-->b = b+1 // Incrementa uma unidade na variável b b =

OBS.(1): Os nomes de variáveis (também conhecidos por identificadores ) devem seguir as seguintes regras:

  1. Nomes de variáveis começam com uma letra, seguido de letras, algarismos ou sublinhados. Por exemplo: Alpha, notas, A1, B23 e cor_do_objeto;
  2. Caracteres especiais não são permitidos. Isto é, não é permitido usar #, $, &, %, ?, !, @, <, ~, etc.;
  3. Caracteres acentuados não são permitidos;
  4. Nomes de variáveis são sensíveis a maiúsculas e minúsculas. Por exemplo, variável Alpha é diferente das variáveis ALPHA, alpha e AlPhA. De acordo com as regras acima, os seguintes nomes de variáveis são válidos: ALPHA, X, B1, B2, b1, matricula e MEDIA. Porém, estes nomes de variáveis são inválidos: 5B, 1b, nota[1], A/B e X@Z. OBS.(2): A ausência ou presença do ponto e vírgula no final de um comando do Scilab visualiza ou suprime, respectivamente, o resultado do cálculo. Por exemplo, o resultado do seguinte comando, digitado com ponto e vírgula, é suprimido: -->A = 4+4^2; --> Se este comando é digitado sem ponto e vírgula, o resultado é visualizado: -->A = 4+4^ A =

Mais exemplos: -->a=2; -->b=4; -->area=a*b // aqui o ponto e vírgula foi suprimido porque precisamos visualizar o resultado. area =

2.3 - EXPRESSÕES ARITMÉTICAS

Os operadores aritméticos combinam números e variáveis para formar expressões aritméticas. Exemplos: A+B*C (NOTA1+NOTA2)/ 1/(a^2+b^2) Importante é a Ordem de Avaliação entre Operadores Aritméticos. Para uma boa avaliação de uma expressão aritmética é necessário se familiarizar com a ordem de avaliação dos operadores. Aqui, as regras importantes são: prioridade, associatividade e parênteses. Operações de

Além dos operadores aritméticos podemos usar funções matemáticas. Exemplos:

2+3cos(x) X^(2sin(y)) 2+3*tan(x)+K^

As principais funções matemáticas do Scilab são mostradas na tabela a seguir.

Tabela: principais funções matemáticas no scilab

Exemplos de funções matemáticas: // O número π e a base do logaritmo natural e = 2, 718281828... são representadas pelas variáveis especiais %pi e %e. -->cos(2*%pi) // coseno de 2 vezes PI ans =

-->%e^2 // 2,718281828 ao quadrado ans =

-->abs(-5) // valor absoluto ans =

-->modulo(8,3) // Resto da divisão entre 8 e 3 ans =

-->modulo(6,3) ans =

-->sign(-4) // Função sinal: retorna o valor -1, +1 ou zero conforme o argumento x seja negativo, positivo ou nulo, respectivamente. ans =

-->sign(5) ans =

Também temos Funções de Arredondamento , como por exemplo:

-->a = 34.885; -->fix(a) // trunca a parte fracionária ans =

-->round(a) // arredonda para o inteiro mais próximo ans =

-->ceil(3.1) // arredonda para mais. ans =

Para retornar ao formato inicial usa-se --> format(’v’) que é chamado de “formato de variável”. Vejamos outras formas de usar o comando: format: -->format(’v’,10) //mostra os números em formato de variável com 10 posições. -->format(’e’,8) //mostra os números em notação científica com 8 posições.

O Scilab possui Constantes Especiais do Scilab, que são várias constantes pré-definidas. Algumas constantes pré-definidas não podem ser alteradas. As principais são mostradas na tabela a seguir:

2.4 - STRINGS

Strings são usados para toda e qualquer informação composta de caracteres alfanuméricos e/ou caracteres especiais (exemplo, #, $, &, %, ?, !, @, <, ~, etc.). Os strings são envolvidos por aspas duplas ou simples.

Devemos usar aspas duplas ou simples? A aspa simples é também usada como operador de transposta hermitiana (mas isto não acarreta problemas de programação). Por isso é melhor usar as aspas duplas que não possui tal duplo sentido e torna seu programa um pouco mais legível.

Exemplos: -->a = "abcd"

a = abcd -->b = ’efgh’ b = efgh -->c = "Maria e Jose" c = Maria e Jose

Um das atividades mais comuns em programação é a concatenação de strings. Concatenação é a junção de dois ou mais strings. Isto pode ser feito com o operador +. Exemplos:

-->a + b // Concatena abcd com efgh ans = abcdefgh -->n = "Pedro" n = Pedro -->m = "Paulo" m = Paulo -->m + n // Concatena Paulo com Pedro sem ans = PauloPedro -->m + " " + n // Concatena Paulo com Pedro inserindo espaços entre eles ans = Paulo Pedro -->m +“ “+”e”+” “+n Paulo e Pedro

Muitas vezes precisamos armazenar informações que contém as aspas. Isto pode ser feito repetindo as aspas. Exemplos:

Exemplo: Sejam os números imaginários x e y, como segue: x = 3 + 4*%i e y = 1 - %i As operações abaixo são feitas normalmente: z1 = x - y z2 = x * y z3 = x / y Bem como o uso de funções: real(x) −Parte real de x imag(x) −Parte imaginária de x abs(x) −Valor absoluto do número complexo atan(imag(x),real(x)) −Argumento do número complexo conj(x) −Conjugado sin(x) −Seno de um número complexo

2.6 - APAGANDO, ARMAZENANDO E RECUPERANDO VARIÁVEIS NO ESPAÇO DE TRABALHO

Quando um comando de atribuição como este: -->x = 3, é digitado no Scilab, a variável x é armazenada em uma área da memória do Scilab denominada de Espaço de Trabalho (do inglês, Workplace ). O Espaço de Trabalho é uma parte da memória do computador que armazena as variáveis criadas pelo prompt e pelos arquivos de Script (mostrados adiante). O comando clear apaga todas as variáveis do Espaço de Trabalho criadas pelo usuário. O comando clear seguido de nome de uma variável apaga somente a variável Exemplo: -->a = 2; -->b = 3; -->c = 4; -->clear b; // Apaga somente b deixando as outras variáveis intactas. // O comando who mostra todas as variáveis do Espaço de Trabalho.

As variáveis são apagadas quando o usuário termina a execução do Scilab. Para usá-las da próxima vez que executar o Scilab, você deve salva-las com o comando save (“arquivo”). Por exemplo, -->a = 2;

-->b = 3; -->c = 4; -->save("dados.dat");

As variáveis foram salvas no arquivo dados.dat. O comando load (“arquivo”) é usado para recuperar variáveis que foram salvas no arquivo. Por exemplo: -->clear // apaga todas as variáveis -->a+b // variáveis a e b não existem !--error 4 // porque foram apagadas undefined variable : a -->load("dados.dat"); // recupera as variáveis a, b e c -->a+b // Ok! ans =

2.7 – CONSEGUINDO AJUDA

O comando help informa sobre comandos e funções do Scilab. Por exemplo: help cós (Informa sobre a função que calcula o co-seno); help ceil −Informa sobre a função ceil. O comando apropos procura comandos e funções utilizando uma palavra-chave. Por exemplo, se não sabemos o nome da função que calcula o seno hiperbólico, podemos digitar (em inglês) algo como --> apropos hyperbolic e o Scilab mostrará todas a funções relacionadas com a palavra-chave hyperbolic. O comando help() abre a ajuda do scilab pelo prompt.

3 - POLINÔMIOS, VETORES, MATRIZES E LISTAS

3.1 – POLINÔMIOS

Os polinômios são criados no Scilab através da utilização da função poly. Salientamos que polinômios de mesma variável podem ser somados, subtraídos, multiplicados e divididos entre si. Por exemplo, o polinômio p = s^2 - 3s + 2, que possui raízes 1 e 2, pode ser criado através do comando

-->p = poly([1 2], 's') // Polinômio definido pelas suas raízes p = 2 2 - 3s + s -->

Com a função roots, comprovamos que as raízes de p são, realmente, 1 e 2: -->roots(p) //função para encontrar as raízes de um polinômio ans =

Um polinômio também pode ser criado a partir da especificação de seus coeficientes. Por exemplo, o polinômio q = 2s + 1 é criado através do comando, -->q = poly([1 2], 's', 'coeff') // Polinômio definido pelos seus coeficientes q = 1 + 2s -->roots(q) // Obtendo as raízes do polinômio q ans =

--> Para complementar, os dois polinômios podem ser multiplicados, divididos, somados ou subtraídos como mostra a seqüência de comandos, -->p * q // Multiplicação ans = 2 3 2 + s - 5s + 2s

-->p / q // Divisão ans =

2 - 3s + s

1 + 2s

-->p + q // Adição ans = 2 3 - s + s

-->p - q // Subtração ans = 2 1 - 5s + s -->