




















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
introdução ao uso do software Scilab
Tipologia: Notas de estudo
1 / 28
Esta página não é visível na pré-visualização
Não perca as partes importantes!





















Todas as operações são feitas a partir do prompt do Scilab, como ilustrado abaixo:
-->2+ ans = 5. -->2* ans = 6. -->10/ ans = 5. -->10- ans = 8.
Caso fôssemos criar variáveis ou constantes a partir das operações básicas, faríamos:
-->a=5+ a = 7. -->b=2* b = 6. -->c=8/ c = 2.
As variáveis cariam armazenadas no Scilab, permitindo-nos operar com elas, como no exemplo abaixo:
-->A=a+b* A = 19. -->A=(a+b)* A = 26.
1.2 Variáveis Especiais
Números irreais ou complexos, assim alguns números especiais, são criados no Scilab a partir de algumas funções especiais, como nos casos mostrados na Tabela 1.1 abaixo:
Tabela 1.1: Variáveis Especiais Número π %pi Complexo
− 1 %ı Constante Trigonométrica e %e Innito %inf NotANumber (Missing) %nan Constante Boleana %t e %f
Ilustremos o uso destas variáveis com algumas operações simples.
-->a=5+2%i a = 5. + 2.i -->b= 4-3%i b = 4. - 3.i -->a*b ans = 26. - 7.i
1.3 Comentários e Pontuação
Comentários no arquivo Scilab, feitos à título de organizar o raciocínio, ou qualquer m, devem ser precedidos do símbolo de porcentagem, %. Por exemplo:
% observe que, no Scilab, como em muitas calculadoras, as operações $a+bc$ difere de $(a+b)c$
A linha em questão não será, portanto, tomada como parte das operações matemáticas. É um recurso especialmente útil nos arquivos de programação. Outro recurso é a pontuação nal, indicando se desejas ou não exibir o produto na tela. Ilustrando:
-->Y=[1 2; 3 4] Y = ! 1. 2.! ! 3. 4.!
Se não queres visualizá-la, ponha ponto e vírgula no nal: -->Y=[1 2; 3 4]; É desejável quando estamos operando com transformações longas, notadamente com matrizes ou séries, permitindo nos concentrar nas simples operações lógicas, deixando de lado a computação numérica, que podemos deixar para o nal.
z2 = ! 3. 3. 3.!
z3=zeros(1:5) z3 = ! 0. 0. 0. 0. 0.!
Note que, dentro do parênteses, denimos a quantidade de termos do vetor, ou da seqüencia, e fora do parênteses os termos constantes que o compõe. Se quisermos operar com vetores dados por uma seqüência que progridem numa seqüen- cia denida, dentro de um intervalo estabelecio, faríamos:
-->v=[5:1:10] v = ! 5. 6. 7. 8. 9. 10.!
-->v1=[5:-.5:1] v1 = ! 5. 4.5 4. 3.5 3. 2.5 2. 1.5 1.!
Geramos, desta forma, tendências temporais, ou outra série temporal como seqüencia denida, as quais são muito úteis na análise estatística e econométrica.
2.3 Matrizes
Criam-se matrizes de forma semelhante, usando o operador ; para inserir linhas novas. Convém, também, seguir a convenção matemática, usando maiúscula para matrizes:
A=[1 2; 3 4]; B=[5 6;7 8]; C=[9 10;11 12];
Finalmente, podemos criar uma matrix composta pelas demais matrizes ou vetores, denidos acima. Por exemplo:
-->D=[A B C] D = ! 1. 2. 5. 6. 9. 10.!
Podemos transformá-la numa outra matriz, E, 3x4, fazendo:
E=matrix(D,3,4)
Podemos, nalmente, transformar E numa matriz identidade:
F=eye(E)
Uma matriz identidade 3 x 3 poderia ser assim gerada:
-->Z=eye(3,3) z =
Finalmente, dada uma matriz A
-->A=[1 2; 3 4] A = ! 1. 2.!
As funções abaixo, nos dão:
-->size(A); \as dimensões da matriz
-->det(A); \seu determinante
-->diag(A);\sua diagonal
2.4 Acessando Vetores e Matrizes
Como visto, o Scilab toma uma matriz pelo nome associado a ela, cando sua dimensão numérica e espacial registrada na memória do programa. Quando desejamos nos certicar do conteúdo de tal matriz, trazendo-a à tela, usamos a função evstr(.):
-->evstr(E) ans = ! 1. 4. 6. 11.!
Ao operar com uma base de dados, ou manipulações numéricas, um primeiro passo é saber em que diretório o Scilab está operando, o que é feito com a função pwd:
-->pwd ans = C:\WINDOWS\Desktop
Desejando mudar de diretório, use a função 'chdir'. Assim, supondo que seu arquivo esteja em C:\cursos\IEconometria\Apostila, faríamos:
chdir(C:\cursos\IEconometria\Apostila) ans = 0.
Na análise estatística, um trabalho comum seria a importação de arquivos de dados, sem- pre compostos numa matrix, onde cada coluna representa uma variável e as linhas as respectivas observações. São os chamados arquivos no tipo ascii. O Excel é, talvez, o mais comum, embora. armazenados num arquivo Excel, com extensão ".xls". A forma ".csv"e ".prn"são as mais utilizadas em bancos de dados de domínio público, mantidos por instituições públicas ou privadas. Para abrir tais arquivos no Scilab dê o seguinte comando:
M = excel2sci("C:\arquivos\alguma-coisa\filename.csv", ",")
. Outra opção é:
M = excel2sci("C:\arquivos\alguma-coisa\filename.csv", ":,:")
A despeito da função excel2sci remeter ao Excel, veja que ela se aplica a outros arqui- vos ascii, como o csv do exemplo. Na realidade, para o caso de arquivos Excel, convém transformá-los antes para bloco de notas, o que pode ser feito ou abrindo-o e salvando no
Bloco de Notas (entre os programas acessórios do Windows), ou pedindo, no Excel, para salvá-lo como txt (com separador de vírgulas). Pelo mesmo caminho, é possível transfor- mar um arquivo txt para csv, pedindo que o Excel salve-o como 'csv' (com separador de vírgulas). O Scilab não reconhecerá corretamente as variáveis se, no arquivo original, elas estavam denidas por um nome inserido na primeira linha de cada coluna. É preciso retirar toda a linha contendo o nome das variáveis. Abaixo, mostramos um caminho rápido para nomear as variáveis do arquivo importado. Se o nome das variáveis já foram retirados, outro caminho é simplesmente colar. Supo- nha que os dados estejam no Excel, onde cada coluna está associada a uma variável, com a primeira linha indicando o nome desta. Corte tal linha, faça o copy e insira, via paste, no Scilab, para posterior associação dos valores. Isto é, terás que denir tais dados como uma matriz, com um nome e escrito na forma correspondente a uma matriz, como denido no capítulo anterior.
3.3 Nomeando as Variáveis
Como dissemos acima, será preciso associar variáveis e nomes, do arquivo importado ou copiado, pelo caminho especíco do Scilab. Seguindo a notação matricial do programa, isto pode ser feita na forma:
-->nome da variável=nome da matrix dos dados(:,no da coluna).
que dá um determinado nome para toda coluna (no coluna) da matrix (nome). Supondo que estivéssemos trabalhando com o nosso arquivo tbl6, isto poderia ser feito da seguinte forma:
-->YEAR=tbl6(:,1); G=tbl6(:,2); PG=tbl6(:,3); Y=tbl6(:,4); PNC=tbl6(:,5); PUC=tbl6(:,6); PPT=tbl6(:,7); PD=tbl6(:,8); PN tbl6(:,9); PS=tbl6(:,10); POP=tbl6(:,11);
Note que zemos a transformação de todas as variáveis de uma só vez, usando o separador ; após a denição de cada nome.
3.4 Salvando e Avaliando Dados e Arquivos
Suponha que tenhamos criado a matrix:
-->x=[1 2 %pi;%e 3 4]; x =
Caso estivéssemos operando num arquivo de programação, no editor do Scilab, faríamos:
-->evstr(X) ans =
Lembre-se, poderíamos associar as variáveis acima com caracteres, como:
Y=X(:,1) ; C=X(:,2); I=X(:,3)
Neste caso, para carregá-lo faríamos:
-->load('C:\DATA\dados.dat', 'y,C,I')
Numa análise estatísticas, podemos precisar de apenas um conjunto de variáveis de uma matriz de dados, e variáveis, contida em determinado arquivo. À título de exemplo, considere a matrix x criada acima, que nos interessaria apenas. eventualmente, quere tomar apenas algumas das variáveis
xenw = ! 1. 2. 3.1415927!! 2.7182818 3. 4.!
Note que o comando read especica o número de linhas e colunas.
Em análise estatística usaríamos análise gráca tanto para analisar a correlação entre dados, ou entre pontos previstos e pontos observados, quanto para simulações das propri- edades matemáticas de alguns estimadores ou estatísticas. Nesta seção introduziremos a projeção de grácos de funções, o que será útil tanto para os dois últimos tipos de análise gráca em estatística. Nos capítulos Estatísticas Básicas e .. exporemos outros recursos grácos, trantando dos respectivos problemas estatísticos. Veremos, aqui, os comandos para a geração de grácos mais comuns, em duas e três dimensões. As novas versões do Scilab, como a 3.0, já dispõe de uma interface gráca para manipulação de grácos, facilitando muito o trabalho. Como esta. porém não está totalmente implementada, utilizares o prompt de comando para executar os grácos.
Vamos iniciar o estudo de grácos de funções no espaço dois. Para que o Scilab entenda que as variáveis x e y estão relacionadas por uma função, usamos de (denir função) e especicamos:
-->deff("[y]=f(x)","y=sin(x)")
A função seno é uma das muitas já denidas no Scilab. Precisamos, agora, denir o domínio da função:
-->x=[0:0.1:10]*%pi/10;
Isto posto, solicitamos plotar a função f, como segue:
-->fplot2d(x,f)
cujo resultado está exposto na 4.1 abaixo. Para plotarmos duas funções juntas, basta colocarmos dentro dos colchetes:
plot2d([3.5*x x^2-3])
O resultado:
0 1 2 3 4 5 6 -2.
-1.
-1.
-0.
-0.
L1 L L
Figura 4.3: Plot em 2D da função Seno
r
r
r
4.2 Gráco de Funções em 3 Dimensões
No capítulo 9, expomos os recursos grácos do Scilab para análise de dados e para análise estatística mais geral.
Há uma série de pacotes que potencializam a execução de alguns funções no Scilab. Para carregar tais pacotes há uma caminho especíco. O primeiro é o download a partir da página do Scilab http://scilabsoft.inria.fr/ contribution/... Ao abrir o arquivo zip, selecione todos os arquivos que o compõe e faça o extract para a pasta c:\arquivosdeprograma\Scilab-30-RC1\macros, supondo que seja este o nome da versão do Scila e o local em que está instalado no seu computador. Uma nova pasta será instalado no macros do Scilab com o nome do pacote instalado. No menu do Scilab, selecione File, então a opção exec, e buscar o pacote recem instalado no caminho c:\arquivosdeprograma\Scilab-30-RC1\macros\nomepacote. Clique no arquivo 'builder' do pacote. O pacote será, então, instalado. Embora instalado, para utilizar cada pacote será necessário carregá-lo toda vez que for utilizá-lo. Caminho: no menu do Scilab, selecione File, então exec, buscando o pacote. Ao clicar em cima dele, selecione seu "loader".
Na ilustração abaixo, damos um nome para cada variável, necessário quando queremos operar matematicamente com tais resultados.
-->m=mean(b) m =
-->varb=variance(b) varb =
-->varE=variance(b) varE =
-->stde=st_deviation(e) stde =
Gerar variáveis aleatória muitas vezes é necessário, principalmente quando desejá-se reali- zar simulações do tipo Monte Carlos. No Scilab, iremos utilizar uma caixa de ferramentas chamada Grocer. Esta pode ser obtida na Internet, no endereço http://scilabsoft. inria.fr/, em Contributions > Download > Data Analysis And Statistics. Este co- mando deve ser instalado seguindo instruções expostas na seção Carregando Pacotes. O comando básico é:
Y=grand(m, n, dist_type [,p1,...,pk])
onde m é a quantidade de elementos de cada geração aleatória e n a quantidade de gerações aleatórias, disttype é o tipo de distribuição que se deseja gerar e [, p 1 , ..., pk] são os parâ- metros da dist. requerida. À título de exemplo, geremos 50 pontos de uma distribuição Normal, com média zero e variância unitária:
-->Y=grand(100,1,'nor',0,1)
e fazer o seu histograma, utilizando 10 barras:
--> histplot(10,Y)
O resultado esta na gura 7.1. Vamos, agora, gerar 1000 pontos de apenas uma geração aleatória de uma normal com média 10 e variância 4.2 e colocar em outro histograma, agora com 50 bins:
-->Y=grand(100,1,'nor',10,4.2);
-->histplot(50,Y)
O resultado, na gura 7.2. Finalmente, como exemplo, vamos introduzir o gráco de uma distribuição, gamma, bastante usada em inferência bayesiana como priori para a variância de um modelo. O comando: