Introdução ao SCILAB. Prof. Wilian Soares Lacerda UFLA. Maio 2011



Documentos relacionados
Introdução sobre Scilab

Universidade de São Paulo - USP. Introdução ao Scilab

SciLab. Prof. Raimundo C. Ghizoni Teive

SCILAB. Software livre para cálculo numérico e simulação de sistemas físicos Utilizado nas áreas de:

Introdução ao Scilab

Tutorial de Matlab Francesco Franco

Unidade 3: Linguagem de programação

Introdução ao Scilab 3.0 Parte 4

Aluísio Eustáquio da Silva

UNIVERSIDADE GAMA FILHO Laboratório de Controle I - MATLAB

Departamento: Matemática Curso: Eng a Madeiras Ano: 1 o Semestre: 2 o Ano Lectivo: 2006/2007. Aula prática n o 1 - Introdução ao MATLAB

Sistemas e Sinais (LEE & LETI)

Aula 2P - Comandos básicos do Matlab aplicados a PDS

Programação Básica em Arduino Aula 2

7. Usar o último resultado: --> ans -->a*2+a*3 -->ans*2. 8. Ver as variáveis existentes: --> who -->who

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

Murilo F. Tomé ICMC-USP

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Scilab. Introdução ao Scilab. Como obter ajuda

Aula Teórica 12. Material Didático Proposto

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

OPERADORES E ESTRUTURAS DE CONTROLE

Introdução ao Scilab

Oficina de MATLAB Nível Básico Aula 1

Capítulo 13. VARIÁVEIS DO TIPO REAL DUPLA

UFERSA Universidade Federal Rural do Semi-Árido. R Project R Project Criando e manipulando objetos.

Introdução ao Scilab

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

6. Geometria, Primitivas e Transformações 3D

Introdução aos cálculos de datas

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Linguagem algorítmica: Portugol

Algoritmos com VisuAlg

Algoritmo e Programação

Resumo da Matéria de Linguagem de Programação. Linguagem C

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

Componentes da linguagem C++

Introdução à Linguagem

e à Linguagem de Programação Python

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Programa. Linguagem MATLAB Métodos Computacionais para EDO Métodos Computacionais para EDP. Critérios

Internet e Programação Web

Programação WEB I Estruturas de controle e repetição

Python: Comandos Básicos. Claudio Esperança

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Introdução ao Matlab. 1 Algumas regras e comandos do Matlab. 3 de março de Docente Responsável : Prof. Dr. Antônio C. Roque

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

JavaScript (ou JScript)

Informática no Ensino da Matemática

INTRODUÇÃO AO SCILAB

CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS

PHP AULA1. Prof. Msc. Hélio Esperidião

Organização de programas em Python. Vanessa Braganholo

Treinamento em BrOffice.org Calc

TUTORIAL MATLAB MATEMÁTICA COMPUTACIONAL Aula 20-Novembro-2013

Módulo III. Folhas de Cálculo

Informática Aplicada à Engenharia Florestal

Roteiro 3: Sistemas Linux arquivos e diretórios

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Algoritmos Computacionais ( Programas )

AULA 12 FUNÇÕES Disciplina: Algoritmos e POO Professora: Alba Lopes alba.lopes@ifrn.edu.br

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

MATLAB Avançado. Melissa Weber Mendonça Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Notas para um curso de Cálculo 1 Duilio T. da Conceição

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Introdução ao MATLAB. Afonso Paiva ICMC-USP

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

Lista de operadores de comparação - > Maior que - < Menor que - <= Menor ou igual a - >= Maior ou igual a - === Igual a -!

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Aula 02. Introdução ao Linux

Algoritmos e Programação _ Departamento de Informática

Estabilidade. Carlos Alexandre Mello. Carlos Alexandre Mello 1

Algoritmos e Programação de Computadores

Microsoft Excel 2007

INFORMÁTICA PARA ENGENHARIA

criar u u = E(:,1) criar b b=a(:,3)

Introdução à Programação

Algoritmos em Javascript

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

O cursor se torna vermelho e uma Paleta de Edição contendo as instruções mais utilizadas é apresentada.

Não use essa apostila como única fonte de consultas, procure livros e manuais.

1. FUNÇÕES NO EXCEL 2007

Laboratório de Sistemas e Sinais L1: Matrizes, Sons e Imagens

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

APOSTILA DE EXCEL 2007

Treinamento Excel 2010 Thalles Cezar Montenegro

Sistemas Operacionais

GEO764 - Programação avançada em Geofísica. Controle da seqüência. Estrutura IF... THEN... ELSE. Comando IF

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Javascript 101. Parte 2

Transcrição:

Introdução ao SCILAB Prof. Wilian Soares Lacerda UFLA Maio 2011

Índice O que é o SCILAB? Ambiente do SCILAB Comandos básicos Vetores Matrizes Programação com SCILAB Funções Recursos gráficos Arquivos 2

O que é o SCILAB? 3

Software livre para cálculo numérico e simulação de sistemas físicos. Usado nas áreas: 1. Física 2. Sistemas complexos 3. Processamento de imagens 4. Controle e processamento de sinais 5. Automação industrial 6. Controle de processos 7. Computação gráfica 8. Matemática 9. Modelagem biológica 10.... 4

Criadoem1989porumgrupodepesquisadoresdaINRIAeda ENPC. Disponívelcomosoftwarelivredesde1994pelosite http://www.scilab.org Consórcio Scilab desde 2003 mantido por diversas empresas. Objetivos do consórcio: organizar cooperação entre os desenvolvedores obter recursos para manutenção da equipe garantir suporte aos usuários Sistemas Operacionais: Linux Windows Solaris Unix 5

As principais características do SCILAB são: 1. É um software de distribuição gratuita, com código fonte disponível. Sua linguagem é simples e de fácil aprendizado; 2. Possui um sistema de auxílio ao usuário, help; 3. Implementa diversas funções para manipulação de matrizes. As operações de concatenação, acesso e extração de elementos, transposição, adição e multiplicação de matrizes são facilmente realizadas; 6

4. Permite trabalhar com polinômios, funções de transferência, sistemas lineares e grafos; 5. Apresenta facilidades para a definição de funções; 6. Permite o acesso a rotinas escritas nas linguagens FORTRAN ou C; 7. Pode ser acessado por programas de computação simbólica como o Maple, que é um software comercial, ou o MuPAD, que é livre para uso em instituições de ensino/pesquisa; 8. Suporta o desenvolvimento de conjuntos de funções voltadas para aplicações específicas, os chamados toolboxes. 7

Ambiente do SCILAB 8

TELA INICIAL 9

BIBILIOTECA DO SCILAB 5.1 10

O BOTÃO DE PROCURA 11

EX: plot3d() 12

EX: plot3d() 13

EX: plot3d() 14

Comandos básicos 15

pwd: Mostra o diretório atual. SCI: Mostra o diretório onde o Scilab foi instalado. ls: Lista os arquivos do diretório. chdir: Muda de diretório. mkdir: Cria um diretório. rmdir: Remove um diretório. who: Apresenta as variáveis alocadas no momento 16

exec( arquivo.sci ): Executa um programa Scilab. help(): Mostra o help do Scilab. disp(var): Mostra o conteúdo de variáveis. save( file, var): Salva variáveis específicas em um arquivo binário. load( file, var ): recupera os valores salvos em arquivo. clear: Apaga as variáveis não protegidas do ambiente. 17

Constantes especiais: %e: constante neperiana %i: raiz quadrada de -1, número imaginário %pi: constante π %eps: máximo valor tal que 1+%eps=1 %inf: infinito %nan: não é um número %t: verdadeiro %f: falso 18

Operadores de comparação: < menor <= menor ou igual > maior >= maior ou igual == igual ~= diferente <> diferente & e ou ~ não 19

Variáveis Sensível a maiúsculas e minúsculas Palavra única Até 24 caracteres Não pode iniciar com número Criada no momento da atribuição de valor Exemplo: --> A = -3.5; --> B = 4e-6; 20

Números Complexos: --> z = 2 + 3*%i z = 2. + 3.i 21

Comando clear elimina variáveis não protegidas. --> clear a; // elimina a variável a --> clear; // elimina variáveis desprotegidas...para testar use o comando who 22

Vetores 23

Declarações de Vetores --> u = [123]; //vetor linha --> u = [1;2;3]; //vetor coluna --> u = 1:15; //vetor linha u = [123... 15] --> u = ones(1:5); // u = [11111] --> u = zeros(1:4); // u = [0000] --> u = 5:-0.2:4; //vetor linha u = [5 4.8 4.6... 4] 24

vetor = valor_inicial:incremento:valor_final -->vec = 0:0.01:10 Incremento não for especificado, fica o valor default 1. Incremento pode ser negativo. 25

Dimensão: length(x) Número de linhas e colunas: [nr,nc] = size(x) Todos elementos iguais a 1: x = ones(n,1) Vetores nulos: x = zeros(n,1) Vetores com valores aleatórios: x =rand(n,1) 26

Apaga elemento: X(i) = [] Insere elemento i no final: X = [X i] Acessa último elemento: X($) Acessa elementos entre n e m: X(n:m) Agrupa dois vetores: c = [x y]; Obs.: índice do vetor começa com 1 27

Matrizes 28

Uma matriz geral consiste em m*n números dispostos em m linhas e n colunas: 29

Exemplo No Scilab: --> M = [1 2 3; 4 5 6; 7 8 9] 30

Declarações de Matrizes > A = [ 1 2 3 ; 4 5 6 ] A =! 1. 2. 3.!! 4. 5. 6.! > B = ones(2,3) B =! 1. 1. 1.!! 1. 1. 1.! > C = [A B] C =! 1. 2. 3. 1. 1. 1.!! 4. 5. 6. 1. 1. 1.! > D = matrix (C, 4,3) D =! 1. 5. 1. 1.!! 4. 3. 1. 1.!! 2. 6. 1. 1.! 31

M = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12] M(1, :) Toda linha 1 da matriz M; M(2, :) Toda linha 2; M( :, 1) Toda coluna 1; M( :, 2) Toda coluna 2; M( :, 2:4) Todas colunas 2, 3 e 4. 32

Matrizes especiais Matrizes com elementos unitários: --> A = ones(m,n) Matrizes com elementos nulos: --> B = zeros(m,n) Matriz identidade: --> A = eye(n,n) 33

Operações com Matrizes Acesso à linha i: A(i,:) Acesso à coluna j: A(:,j) Insere linha no final: A = [A;linha] Insere coluna no final: A = [A coluna] Acesso à ultima linha: A($,:) Acesso à última coluna: A(:,$) Acesso a um conjunto de linhas: A(:,[i:j]) Acesso a um conjunto de colunas: A([i:j],:) Matriz com números aleatórios: A = rand(n,m) 34

Soma: C = A + B Multiplicação: C = A*B Multiplicação por um escalar: B = i*a Matriz complexa: C = A + B*%i (A e B reais) Matriz transposta: C = A Determinante: d = det(a) Diagonal: d = diag(a). 35

Matrizes simbólicas Uma matriz simbólica pode ser construída com elementos do tipo string: --> M =['a' 'b';'c' 'd'] ; Se atribuirmos valores às variáveis podemos visualizar a forma numérica da matriz com a função evstr() 36

Matrizes: operadores especiais Operador \: divisão à esquerda. Seja Ax=b um sistema de equações lineares escrito na forma matricial, sendo A a matriz de coeficientes, xo vetor das incógnitas e b o vetor dos termos independentes: 37

A resolução deste sistema é x=a -1 b, ou seja, basta obter a matriz inversa de A e multiplicá-la pelo vetor b. No Scilab isto pode ser feito desta forma: 1x + 3y = 5 3x + 4y = 2 --> A=[1 3;3 4];b=[5;2]; --> x=inv(a)*b Esta solução também pode ser obtida com o operador divisão à esquerda cujo símbolo é \: --> x=a\b 38

Operador. (ponto) Este operador é usado com outros operadores para realizar operações elemento a elemento. Exemplo: A = [123; 346; 789]; B = [2 4 6;8 10 12; 14 16 18]; -->A.*B ans = 2. 8. 18. 24. 40. 72. 98. 128. 162. -->A./B ans = 0.5 0.5 0.5 0.375 0.4 0.5 0.5 0.5 0.5 39

Matrizes esparsas Uma matriz é dita esparsa quando possui uma grande quantidade de elementos iguais a zero. A matriz esparsa é implementada através de um conjunto de listas ligadas que apontam para elementos não zero. De forma que os elementos que possuem valor zero não são armazenados. Em Scilab: --> A = [0 0 1; 2 0 0; 0 3 0]; --> sparse(a) ans = ( 3, 3) sparse matrix ( 1, 3) 1. ( 2, 1) 2. ( 3, 2) 3. 40

Exemplo: --> A = [0 0 1; 2 0 0; 0 3 0] ; --> A= sparse(a); --> B = [0 1 0; 2 0 2; 3 0 0]; --> B = sparse(b); --> C = A*B; Para obter a matriz C na forma completa: --> C = full(c); 41

Listas Uma lista é um agrupamento de objetos não necessariamente do mesmo tipo. Uma lista simples é definida no Scilab pelo comando list, que possui esta forma geral: L = list(a1,a2,a3 an) onde a 1,a 2,a 3 a N são os elementos da lista Exemplo: --> L = list(23,1+2*%i,'palavra',eye(2,2)) L = L(1) 23. L(2) 1. + 2.i L(3) palavra L(4) 1. 0. 0. 1. L= [23, 1+2i, palavra, 1 0 0 1 ] 42

Programação com SCILAB 43

Características da linguagem Scilab O Scilab é um interpretador de comandos e por isso o código gerado não precisa ser compilado. Facilidade e simplicidade da linguagem estruturada. Não há necessidade de declaração prévia das variáveis. 44

Scripts Os scripts são arquivos de texto que contém comandos que seriam usados em um prompt do Scilab. Por convenção estes arquivos possuem extensão.sce Os arquivos são criados no editor de texto do Scilab, o Scipad (ou em qualquer outro editor de texto). Os arquivos são executados no Scilab: 1. com o comando exec, 2. com o menu File> File Operations selecionando o arquivo e clicando no botão exec 45

O laço for for variavel = inicio:incremento:fim instrucao_1 instrucao_2 instrucao_3 end Exemplo: a = 0; for i=1:3 a = a+1; end L = list(2,[1 2; 34],'elemento'); for k=l disp(k); end 46

O laço while while condicao instrucao_1 instrucao_2...... instrucao_n end O laço while repete uma seqüência de instruções enquanto uma condição for satisfeita. Útil quando não se sabe o número de iterações. 47

O laço while Operadores permitidos: == ou= (iguala) < (menorque) > (maiorque) <= (menorouigual) >= (maiorouigual) <> ou~= (diferente) Exemplo: x =1; v = []; while x <= 16; v = [v x]; x = x*2; end 48

Comandos condicionais são usados paraexecutar seqüências de instruções a partir da avaliação de condições booleanas. if then else if condicao_1 then sequencia_1 else sequencia_2 end Avalia a condicao_1 se ela for verdadeira (T, true) executa a sequencia_1, caso contrário executa a sequencia_2. 49

Forma geral: if condicao_1 then sequencia_1 elseif condicao_2 sequencia_2 else sequencia_3 end Se a condicao_1 for verdadeira executa a sequencia_1. Se a condicao_1 for falsa avalia a condicao_2 e assim sucessivamente Se todas as condições são falsas executa a sequencia_3. 50

Exemplos: x = -1; if x < 0 then y = 2*x; else y = x; end disp(y); x = 10; if x < 0 then y = -x; elseifx == 1 y = x; elseifx == 2 y = 2*x; else y = 5*x; end disp(y); 51

Forma geral: select var case expressao_1 sequencia_1 case expressao_n sequencia_n else sequencia_n+1 end O valor da variável var é comparado às expressões. Se os valores são iguais, a seqüência correspondente é executada. 52

Exemplo: M = ['a''b']; select M(1) case 'a' y = ' Letraa encontrada'; case ' b' y = ' Letrab encontrada'; end disp(y); 53

Funções 54

Umafunçãopodeserdefinidadetrêsformas: 1. no ambiente Scilab; 2. usandoocomandodeffou 3. digitandootextonoscipadeclicandonomenu Execute, opção load into Scilab Variáveis definidas dentro do escopo da função (variáveis locais) não permanecem no ambiente após a execução da função. 55

Definição: function[y1,...,yn]=nome_da_funcao(x1,...,xm) instrucao_1 instrucao_2... instrucao_p endfunction onde: x1,...,xm são os argumentos de entrada; y1,...,yn são argumentos de saída e instrucão_1,...,instrucao_p sãoasinstruçõesexecutadas pela função. 56

Exemplo: Definir uma função que converte um número complexo da forma cartesiana para a polar. No arquivo: cart_to_polar.sci, digite: function[mod,ang] = cart_to_polar(re,im) mod= sqrt(re^2 + im^2); ang= atan(im/re) * 180/%pi; endfunction No arquivo program.sce (arquivo de execução) digite: exec(' cart_to_polar.sci'); z = 2 + 2*%i; [mod,ang] = cart_to_polar(real(z),imag(z)); disp(mod); disp(ang); 57

Funções elementares round(x): Arredonda o valor de x para o inteiro mais próximo floor(x): Arredonda para o menor inteiro ceil(x): Arredonda para o maior inteiro sqrt(x): Calcula a raiz quadrada de x cos(x),sin(x),tan(x),cotg(x): Retorna cosseno, seno, tangente ou cotangentedex(xdeveestaremradianos) acos(x), asin(x), atan(x): Retorna o ângulo(em radianos) 58

find: Acha os índices dos elementos de um vetor que contém os elementos procurados: Exemplos: --> A = [ 1 2 3 4 5 6]; --> B = find(a < 3); --> disp(a(b)); --> C = ['r', 's','r','t','a']; --> find(c == 'r'); 59

sort: organiza em ordem decrescente. Exemplo: --> A = [1 2 3;5 6 7; 2 3 1]; --> v = sort(a); unique: extrai os componentes de um único vetor. Exemplo: --> A = [1 3 4 2 2 2 4 5 6 6 6 3 3]; --> B = unique(a); union: extraí os elementos da união de 2 vetores. Exemplo: --> A = [ 11122234 4]; --> B = [12567]; --> C= union(a,b); 60

Vectorfind: Acha em uma matriz um dado vetor (linhas ou colunas da matriz). Exemplo: --> A = [1 2 3; 2 3 4; 4 5 6] --> B = [1 2 3] --> vectorfind(a,b,'r') 61

Funções estatísticas mean(m) - média geomean(m) - média geométrica variance(m) - variância stdev(m) - desvio padrão d = rand(1,1000, normal ) números aleatórios com distribuição normal histplot(40, d) 62

Recursos Gráficos 63

64

Para gerar gráficos bidimensionais: plot2d(x,y,style) Ondex e y sãovetores. y podeser umamatriz, sendoqueo númerode linhasde y deveser igualaonúmerode elementos de x 65

Exemplo: --> x = [0:0.1:2*%pi]; --> y = [sin(x)' cos(x)']; --> plot2d(x,y); 66

Estilos 67

Comandos básicos: xtitle ( titulo ): apresenta o título do gráfico legend( legenda1, legenda2, ) clf: limpa a tela, evitando que o próximo gráfico se sobreponha ao anterior Exemplo: --> t = 0:0.1:10; --> S = 5 + 10*t + 0.5*2*t.*t; --> V = 10 + 2*t; --> plot2d(t,s,-2); --> plot2d(t,v,-4); --> xtitle( Cinematica ); --> legend( Posição, Velocidade ); 68

Sub-divisões Pode-se dividir a área gráfica através de: subplot(nrl, nrc, seq) Onde: nrl = nr. de linhas nrc = nr. de colunas Seq = sequencia 69

Exemplo: --> subplot(221) --> plot2d(x,sin(x)) --> subplot(222) --> plot2d(x,cos(x)) --> subplot(223) --> plot2d(x,tan(x)) --> subplot(224) --> plot2d(x,sin(x).*cos(x)) 70

Gráficos tridimensionais meshgrid: cria matrizes ou vetores 3D Exemplo: -->[x y] = meshgrid(-1:0.5:4,-1:0.5:5) y = x = -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. -1. -0.5 0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 71

Gráficos tridimensionais mesh: gera gráficos em 3D Exemplo: -->[X,Y]=meshgrid(-5:0.1:5,-4:0.1:4); --> Z=X.^2-Y.^2; --> xtitle('z=x^2-y ^2'); --> mesh(x,y,z); 72

Campo vetorial champ mostra campos vetoriais Exemplo: Velocidade da água em movimento circular --> [x,y] = meshgrid(1:0.5:10,1:0.5:10); --> vx = y./(x.*x + y.*y); --> vy = -x./(x.*x + y.*y); --> champ(x(1,:),y(:,1),vx,vy); 73

Curvas paramétricas param3d: Gera uma curva paramétrica em 3D Exemplo: --> t=0:0.1:5*%pi; --> param3d(sin(t),cos(t),t/10,35,45,"x@y@z",[2,3]) 74

75

Matplot: Mostra matrizes em 2D usando cores. Exemplo: -->A = round(rand(5,5)*10) A = 4. 7. 4. 10. 5. 3. 5. 7. 5. 8. 1. 3. 9. 5. 8. 6. 7. 2. 6. 10. 3. 1. 4. 6. 8. --> Matplot(A) 76

Colormap: Define o mapa de cores Exemplo: --> xset("colormap",graycolormap(32)) --> Matplot(A) -->xset("colormap",hotcolormap(32)) --> Matplot(A) 77

Bar: mostra graficamente um histograma Exemplo: h = [1 4 5 10 8 7 4 3 1]; bar(h); 78

79

Arquivos 80

Salvando variáveis em arquivos: -->save('teste.dat', a, b) -->dir ans = teste.dat --> save( work.dat ) 81

Comando load recupera os valores das variáveis do arquivo binário.dat salvo; -->load('teste2.dat', 'bola ) 82

A = fscanfmat( file.txt ): Lê uma matriz de um arquivo fprintfmat( file.txt,a): Escreve uma matriz em um arquivo Exemplo 1: --> A = rand(10,2); --> fprintfmat('teste.txt',a); Exemplo2: --> clear --> B = fscanfmat('teste.txt'); --> C = rand(10,2)*5; --> A = B + C; --> fprintfmat('teste.txt',a); 83

mopen: [fd,err]=mopen( file, mode ): abre um arquivo; mode: r: abre apenas para leitura w: cria um novo arquivo para escrita a: abre um arquivo para adição: [num_read, num] = mfscanf(u,"%f"): lê um elemento do arquivo str=mgetstr(n [,fd] ): Lê um caracter. fprintf(file,format,value_1,..,value_n): escreve em um arquivo err=meof(fd): Verifica se o final do arquivo foi encontrado. 84

Exemplo: --> fd = mopen('teste_io.txt','w'); --> a = 'Valor de teste'; --> b = 1.1; --> fprintf(fd,'%s %1.2f',a,b); --> mclose(fd); 85

Exemplo: Crie um arquivo e escreva dentro dele: A B C Feche o arquivo Abra o arquivo considerando append e escreva: V X Z Feche o arquivo Abra o arquivo e leia seu conteúdo. Verifique o conteúdo Resposta: fd= mopen('teste.txt','w'); a = 'A'; b = 'B'; c = 'C'; fprintf(fd,'%c %c %c',a,b,c); mclose(fd) ; //Abrindo com append fd= mopen('teste.txt','a'); a = 'V', b = 'X', c = 'Z'; fprintf(fd,'%c %c %c',a,b,c); mclose(fd); //Le o arquivo fd= mopen('teste.txt','r'); frase= []; while(meof(fd) == 0) str = mgetstr(1,fd); frase = [frase str]; end mclose(fd); 86

Fim! Obrigado pela atenção... 87