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


Scilab - DCC , Notas de estudo de Engenharia Mecânica

Scilab - DCC

Tipologia: Notas de estudo

2011

Compartilhado em 05/09/2011

hugo-rodrigues-12
hugo-rodrigues-12 🇧🇷

1 documento

1 / 122

Toggle sidebar

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

Não perca as partes importantes!

bg1
Universidade Federal de Minas Gerais
Departamento de Ciˆencia da Computa¸ao do ICEx
Fundamentos de SCILAB
vers˜ao preliminar
Frederico F. Campos, filho
setembro de 2008
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
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Scilab - DCC e outras Notas de estudo em PDF para Engenharia Mecânica, somente na Docsity!

Universidade Federal de Minas Gerais

Departamento de Ciˆencia da Computa¸c˜ao do ICEx

Fundamentos de SCILAB

vers˜ao preliminar

Frederico F. Campos, filho

setembro de 2008

Sum´ario

viii SUMARIO´

Cap´ıtulo 1

Ambiente de programa¸c˜ao

O SCILAB ´e executado por meio do script scilab no diret´orio /bin, sendo que denota o diret´orio onde o programa foi instalado. A intera¸c˜ao entre o SCILAB e o usu´ario ´e feita por interm´edio de uma janela, na qual um comando ´e fornecido e o resultado exibido.

Neste cap´ıtulo ser´a descrita a janela de comando do SCILAB e seus comandos b´asicos, bem como, os meios que o programa tem de auxiliar o usu´ario durante a sess˜ao, no caso de d´uvida sobre a sintaxe ou mesmo a existˆencia de um comando.

1.1 Janela de comando

Para executar o SCILAB em ambiente Windows ou Macintosh, o cursor deve ser colocado sobre o seu ´ıcone e pressionado o bot˜ao da esquerda do mouse ou ent˜ao, no caso de ambi- ente Linux, entrar com o comando scilab ou scilab -nw (no window) em uma janela de comando. Sem a op¸c˜ao -nw aparecer´a uma nova janela pela qual ser´a feita a intera¸c˜ao entre o SCILAB e o usu´ario (ver Figura 1.1).

Se for utilizada a op¸c˜ao -nw a janela do SCILAB aparecer´a na pr´opria janela de comando (ver Figura 1.2). O sinal de que o programa est´a pronto para receber um comando ´e indicado pelo prompt formado pelos trˆes caracteres -->.

Um comando ´e finalizado acionando-se a tecla Enter ou Return. Se um comando for muito longo, ent˜ao trˆes pontos (...) seguidos do pressionamento da tecla Enter ou Return indica que o comando continuar´a na pr´oxima linha. V´arios comandos podem ser colocados em uma mesma linha se eles forem separados por v´ırgulas ou pontos-e-v´ırgulas. Al´em disto, as v´ırgulas indicam ao SCILAB para mostrar os resultados e os pontos-e-v´ırgulas para suprimir

1

1.1. Janela de comando 3

desativado por lines(0).

O comando clc ´e usado para limpar a janela de comando^1 e tohome posiciona o cursor no canto superior esquerdo da janela de comando. O t´ermino de execu¸c˜ao do SCILAB ´e feito pelos comandos quit ou exit.

Quando o SCILAB ´e ativado, os comandos contidos no arquivo scilab.ini s˜ao automati- camente executados, caso ele exista, para que sejam atribu´ıdos valores a alguns parˆametros. Deste modo, o usu´ario pode criar um arquivo contendo, por exemplo, defini¸c˜ao de constantes matem´aticas e f´ısicas, formatos de exibi¸c˜ao ou quaisquer comandos do SCILAB para perso- nalizar a sua janela de comando. Este arquivo deve ser criado em um diret´orio espec´ıfico, dependendo do sistema operacional utilizado (use help startup para mais informa¸c˜oes).

A abrangˆencia e potencialidade do SCILAB est´a muito al´em do que ser´a mostrado neste texto, por isso ´e aconselh´avel executar a op¸c˜ao Demos^1 para visualizar uma demonstra¸c˜ao e se ter uma id´eia dessa potencialidade.

1.1.1 Espa¸co de trabalho

As vari´aveis criadas durante uma sess˜ao ficam armazenadas em uma mem´oria denominada espa¸co de trabalho. O comando who lista o nome das vari´aveis que est˜ao sendo usadas, ou seja, que est˜ao presentes no espa¸co de trabalho. Este comando lista as vari´aveis criadas pelo usu´ario e as definidas pelo pr´oprio SCILAB. Por exemplo, no in´ıcio de uma sess˜ao, quando o usu´ario criou apenas uma vari´avel,

-->a = 1 // cria a variavel a com o valor 1 a =

-->who your variables are...

a scicos_pal %scicos_menu %scicos_short %scicos_help %scicos_display_mode modelica_libs scicos_pal_libs %scicos_lhb_list %CmenuTypeOneVector %helps home SCIHOME CreateScilabHomeDir PWD TMPDIR MSDOS SCI guilib sparselib xdesslib 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 %gui %pvm %tk $ %t %f %eps %io %i %e using 31686 elements out of 5000000. and 58 variables out of 9231

(^1) Quando o SCILAB for executado sem a op¸c˜ao -nw.

4 Cap´ıtulo 1. Ambiente de programa¸c˜ao

your global variables are...

LANGUAGE %helps demolist %browsehelp LCC %toolboxes %toolboxes_dir using 1122 elements out of 11000. and 7 variables out of 767

1.1.2 Mudan¸ca do diret´orio corrente

Diret´orio corrente ´e aquele considerado em uso, sem ser necess´ario especific´a-lo explicita- mente durante uma a¸c˜ao. Para saber qual o diret´orio de trabalho corrente utiliza-se o comando pwd,

-->pwd // mostra o diretorio de trabalho corrente ans = /pkg/ccc/scilab

O resultado exibido depende do diret´orio de onde o SCILAB foi executado. O diret´orio corrente pode ser alterado por meio do comando cd,

-->cd ferramentas // muda o diretorio de trabalho corrente para ’ferramentas’ ans = /pkg/ccc/scilab/ferramentas

1.1.3 Gerenciamento de arquivos

O SCILAB fornece diversos comandos para gerenciamento de arquivos, os quais s˜ao mostra- dos na Tabela 1.1.

Tabela 1.1: Comandos para gerenciamento de arquivos. Comando Descri¸c˜ao dir ou ls lista os arquivos do diret´orio corrrente; mdelete() remove o arquivo ; cd

ou chdir muda o diret´orio para ; pwd mostra o diret´orio corrente.

1.2 Comandos de aux´ılio ao usu´ario

O SCILAB possui muito mais comandos do que aqueles apresentados neste texto, o que torna mais dif´ıcil lembr´a-los. Com o intuito de auxiliar o usu´ario na procura de comandos, o programa provˆe assistˆencia por interm´edio de suas extensivas capacidades de aux´ılio direto. Estas capacidades est˜ao dispon´ıveis em trˆes formas: o comando help, o comando apropos e, interativamente, por meio de um menu de barras.

6 Cap´ıtulo 1. Ambiente de programa¸c˜ao

LAB. Por exemplo, para informa¸c˜oes sobre fatoriza¸c˜ao, tecla-se apropos factorization, resultando em uma p´agina listando os nomes de v´arias fun¸c˜oes com esta finalidade. Apesar de a palavra factorization n˜ao ser um comando do SCILAB, ela foi encontrada na des- cri¸c˜ao de v´arios comandos. Um clique sobre uma das linhas na p´agina exibida, por exemplo chfact - sparse Cholesky factorization, ´e equivalente ao comando help, como mos- trado na Figura 1.4.

Figura 1.4: Janela do comando apropos.

1.2.3 Menu de barras

Quando o SCILAB ´e executado sem a op¸c˜ao -nw, um aux´ılio por interm´edio de menu-dirigido ´e dispon´ıvel selecionando Help browser ou Apropos na op¸c˜ao Help do menu de barras. Como o uso desta forma de assistˆencia ´e bem intuitivo, o melhor a fazer ´e experimentar!

1.3 Exerc´ıcios

Se¸c˜ao 1.

1.1. Executar o programa SCILAB.

1.2. Verificar a diferen¸ca entre , e ; nos comandos %pi+1, %pi10 e %pi+1; %pi10;.

1.3. Testar o funcionamento das teclas ↑ e ↓.

1.4. Ver o funcionamento das teclas → e ←.

1.5. Verificar a diferen¸ca entre lines(20), lines() e lines(0).

1.3. Exerc´ıcios 7

Se¸c˜ao 1.

1.6. Quantos parˆametros tem a fun¸c˜ao erro erf?

1.7. Quais s˜ao os comandos utilizados para interpola¸c˜ao (interpolation)?

1.8. Qual o comando usado para calcular o determinante (determinant) de uma matriz?

1.9. Qual o comando para achar ra´ızes (roots) de uma equa¸c˜ao polinomial?

1.10. Comparar a soma dos autovalores (eigenvalues) com o tra¸co (trace) de uma matriz de ordem qualquer. Fazer a mesma compara¸c˜ao usando uma matriz com elementos aleat´orios.

Cap´ıtulo 2

Estruturas de dados

Neste cap´ıtulo ser˜ao apresentados alguns ´ıtens b´asicos, tais como, constantes, vari´aveis, vetores, matrizes, hipermatrizes, polinˆomios e listas, o que tornar´a poss´ıvel o uso imediato do SCILAB no modo interativo. Al´em disto, o conhecimento sobre as estruturas de dados ´e fundamental para um uso eficiente do programa.

2.1 Constantes

O SCILAB suporta trˆes tipos de constantes: num´ericas, l´ogicas e literais.

2.1.1 Num´ericas

Uma constante num´erica ´e formada por uma seq¨uˆencia de d´ıgitos que pode estar ou n˜ao precedida de um sinal positivo (+) ou um negativo (-) e pode conter um ponto decimal (.). Esta seq¨uˆencia pode terminar ou n˜ao por uma das letras e, E, d ou D seguida de outra seq¨uˆencia de d´ıgitos precedida ou n˜ao de um sinal positivo (+) ou um negativo (-). Esta segunda seq¨uˆencia ´e a potˆencia de 10 pela qual a primeira seq¨uˆencia ´e multiplicada. Por exemplo, 1.23e-1 significa 1, 23 × 10 −^1 = 0,123 e 4.567d2 ´e 4, 567 × 102 = 456,7,

-->1.23e- ans =

-->4.567d ans =

Algumas linguagens de programa¸c˜ao requerem um tratamento especial para n´umeros com- plexos, o que n˜ao ´e o caso do SCILAB. Opera¸c˜oes matem´aticas com n´umeros complexos s˜ao escritas do mesmo modo como para n´umeros reais. Para indicar a parte imagin´aria basta acrescentar os trˆes caracteres (%i), ou seja, multiplicar () por

−1 = i representado por (%i), 9

10 Cap´ıtulo 2. Estruturas de dados

-->3+2*%i ans =

    • 2.i

As vari´aveis reais e complexas em SCILAB ocupam 24 e 32 bytes de mem´oria, respectiva- mente.

2.1.2 L´ogicas

Uma constante l´ogica pode assumir apenas dois valores: %t (ou %T) para verdadeiro e %f (ou %F) para falso,

-->%t // valor verdadeiro ans = T -->%f // valor falso ans = F

2.1.3 Literais

Uma constante literal ´e composta por uma cadeia de caracteres em vez de n´umeros ou verdadeiro e falso. A cadeia de caracteres deve estar delimitada por aspas (’) ou ap´ostrofos ("),

-->’abcde’ // um valor literal ans = abcde

2.2 Vari´aveis

Uma vari´avel ´e uma regi˜ao da mem´oria do computador utilizada para armazenar uma in- forma¸c˜ao, sendo representada por um identificador.

2.2.1 Regras para nomes de vari´aveis

Como qualquer outra linguagem de programa¸c˜ao, o SCILAB tem regras a respeito do nome de vari´aveis, conforme mostrado na Tabela 2.1.

2.2.2 Comando de atribui¸c˜ao

O SCILAB ´e um interpretador de express˜oes. A express˜ao fornecida ´e analisada sintatica- mente e se estiver correta ent˜ao ser´a avaliada. O resultado ´e atribu´ıdo `a uma vari´avel por interm´edio do comando de atribui¸c˜ao

<vari´avel> = <express~ao>

Por exemplo,