Introdução ao Scilab

Documentos relacionados
Introdução ao Scilab 3.0 Parte 3

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

INTRODUÇÃO AO SCILAB

Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab.

Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE

Minicurso MATLAB BÁSICO MÓDULO 1

Programação de Computadores III

Murilo F. Tomé ICMC-USP

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Programação de Computadores III

Aula 02 - Introdução ao Scilab (p1)

Programação de Computadores:

Aula 7. Noções Básicas de Octave

Introdução ao software Scilab

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

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Introdução ao Scilab

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Unidade 3: Linguagem de programação

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Aula 08: Repetição (Parte 3)

Programação de Computadores. Primeiro contato

Breve Introdução à Programação em Scilab 6.0

Minicurso: Introdução ao SciLab

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Vetores, Matrizes e Gráficos

Fundamentos IV. Introdução a OCTAVE. Clarimar Coelho. Departamento de Computação. August 11, 2014

Programação Introdução

Aula 04: Fluxogramas e condicionais

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Apresentação da disciplina Representação gráfica de funções.

INTRODUÇÃO AO MATLAB - PARTE 2

Informática no Ensino da Matemática

Introdução ao R. Gualberto Agámez Montalvo. 16 de Março de Análise de Dados e Simulação Departamento de Estatística Universidade de São Paulo.

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

Programação de Computadores III

Introdução a Matrizes

INFORMÁTICA PARA ENGENHARIA

MATLAB EM VIBRAÇÕES MECÂNICAS

Programação imperativa. 3. Mais funções

UNIVERSIDADE FEDERAL RURAL DA AMAZONIA ICIBE INSTITUTO CIBER ESPACIAL PROFº JOÃO SANTANNA

= = = = = = = = = = = = = = = =

Vetores. Material Didático Unificado. BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

17 a 19 de fevereiro de 2009

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

Diagrama do Lugar Geométrico das Raízes

Algoritmo e Programação Matemática

Breve Introdução à Programação em Scilab 6.x

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Matlab Noções introdutórias. Roteiro para aula

Introdução ao Scilab 3.0 Parte 2

Agenda. Conjunto de variáveis. O tipo de dados Vetor INTRODUÇÃO. Vetores.

Introdução ao MATLAB

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

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

INFORMÁTICA PARA ENGENHARIA

Algoritmos RESUMO - LINGUAGEM C

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Programação de Computadores

Unidade 3: Linguagem de programação

MATLAB Avançado. Melissa Weber Mendonça

Prof. Dr. Marco Antonio Leonel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

Segundo programa: media.c

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Exercícios Repetição

Introdução ao Fortran 90. Aula 3

02 - Introdução ao Scilab

CCI Laboratório de Matemática Computacional

AULA 4 TEÓRICA- MATLAB VERSÃO: FEVEREIRO DE 2017

AERODESIGN AULA 1 MATLAB

Introdução ao Scilab. Laura Goulart. 27 de Novembro de 2018 UESB. Laura Goulart (UESB) Introdução ao Scilab 27 de Novembro de / 11

Introdução à Linguagem C. Adaptado de Deise Saccol

Novas Tecnologias no Ensino da Matema tica

Aula 12- Variáveis e valores reais

Conceitos Fundamentais de MatLab/Octave. Prof. Responsáveis Wagner Santos C. de Jesus

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

CURSO INTRODUÇÃO AO R

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

MÉTODOS MATEMÁTICOS. Claudia Mazza Dias Sandra Mara C. Malta

UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS

Introdução à Computação

Maxima : um completo programa de Computação

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

Esta prática tem como objetivo apresentar o uso de Matlab para encontrar a resposta de um sistema dinâmico.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Programação Imperativa. Lição n.º 3 Operações aritméticas

Noções de algoritmos - Aula 1

UNIVERSIDADE FEDERAL DO ABC. 1 Existência e unicidade de zeros; Métodos da bissecção e falsa posição

Prática 10 - Funções

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage. Introdução à Programação

CCO 016 / COM 110 Fundamentos de Programação

Transcrição:

Introdução ao Scilab Prof. Santos Alberto Enriquez Remigio Faculdade de Matemática-Universidade Federal de Uberlândia 12 de setembro de 2015

Tópicos Scilab Operações básicas de calculadora no Scilab Definição de polinômios no Scilab Definição de vetores e matrizes no Scilab Editor SciNotes do Scilab Comandos de programação Funções Esboço de gráficos no Scilab

Scilab 1. Scilab é um ambiente de programação numérica bastante flexível Gratuito É um ambiente poderoso para geração de gráficos bi-dimensionais e tri-dimensionais, inclusive com animação Implementa diversas funções para manipulação de matrizes. Permite trabalhar com polinômios, sistemas linares e grafos Permite o acesso a rotinas escritas nas linguagens Fortran e C 2. Como obter o Scilab? http://www.scilab.org/

Consola do Scilab

Parte superior esquerda da janela principal do Scilab

Ajuda do Scilab

Demo do Scilab

Operações básicas com Scilab 1. Declarando variávies reais ou complexas (=): a = 2; b = -1. 2. Operadores com números: Soma (+), subtração (-) Mutiplicação (*) Divisão: / (slash). b/a = b (a 1 ) Divisão: \ (backslash). b\a= (b 1 )a Radiciação (sqrt()) Potenciação (^) 3. Variáveis especiais: π (%pi), e (%e), i (%i) True (%T), False (%F), etc

Exemplos práticos. Faça os seguintes cálculos na consola do Scilab 1. Calcule 10π 2. e 2 3. O resíduo de 48/11 4. 3 10 + 3 5 5. 2 + 3 2 4.023 4.023 6. Dados a = 2, b = 3 e c = 5. Calcule as expressões: 7. Calcule o valor de: 2πe 1) c + c ab a b c 2) a b3 a c ac b

Polinômios no Scilab Definição dos polinômios. Duas maneiras: Exemplos: 1. Passando os coeficientes do polinômio: NomeVarPolin= poly([a 0 a 1 a 2 a n ], NomeVarIndepend, coef ); 2. Passando as raízes do polinômio: NomeVarPolin = poly([r 1 r 2 r n ], NomeVarIndepend )

Operações: Soma e diferença: + e - Multiplicação e divisão comum: * e / Divisão à esquerda: \ Entenda-se por p\q a operação p 1 q Potenciação: ^ Valor numérico de um polinômio: horner(nomevarpolin, valorvarindepen)

Exemplos práticos 1) Defina o seguinte polinômio no Scilab: P(s) = s 3 + s 2 s + 2 2) Defina o seguinte polinômio no Scilab, sabendo que possui unicamente as seguintes raízes: x 1 = 1, x 2 = 2 e x 3 = 3. Exercícios. Criar exemplos do uso de polinômio no Scilab.

Vetores Para definir um vetor criamos um nome e lhe asignamos entre colchetes os elementos do vetor. NomeVetor = [ elementos] Para vetor linha os elementos do vetor são separados pelo símbolo, ou por um espaço vazio e, para vetor coluna os elementos do vetor são separados pelo símbolo ; Exemplos: Vetor coluna de 3 elementos: v = [ 1; 3; -1]; Vetor linha de 5 elementos: u = [1 5-1 6 90];

Vetores 1. Operadores: Operações básicas com vetores Soma e subtração: + e - Multiplicação por escalar: * 2. Produto escalar de dois vetores coluna u e v: *. Aplica-se assim: u v

Geração de vetores Vamos usar o operador : e a função predefinida linspace para gerar vetores: v=a:b v=a:h:b v=linspace(a,b) v=linspace(a,b,n) retorna uma sequência de números começando em a e terminando em b com espaçamento 1 (a e b inteiros) retorna uma sequência de números começando em a e terminando em b com tamanho de passo h retorna uma sequência de números com 100 pontos igualmente espaçados entre a e b retorna uma sequência com n pontos igualmente espaçados entre a e b

Exemplos práticos. Defina os seguintes vetores no Scilab: u = (2, 3, 4) v = ( 1, 0, 1 w = ( 1, 0, 1)

Exercício prático Veja o que acontece com os seguintes comandos no Scilab: 1) z= linspace(0,1,11) 2) v = -6:3:9 3) w = 5:12 4) x = 0 : π/10 : π

Matrizes Para definir uma matriz criamos um nome e lhe asignamos entre colchetes os elementos. NomeMatriz = [ elementos] Usamos o símbolo, ou espaço vazio para separar os elementos de uma linha e o símbolo ; para separar as linhas da matriz. Exemplo matriz 3x4: a = [ 1 4-1 0; 2 3 4 5; 1, 2, 8, 9] Operações soma e subtração: + e - Multiplicação por um escalar: * Transposta:

Definição de matrizes especiais de tamanho nxm Matriz com elementos igual a um: em que todos os elementos são iguais a um: a = ones(n,m) Matriz nula: a = zeros(n,m) Matriz diagonal 1: a = eye(n,m)

1. Operações Operações básicas com matrizes quadradas soma e subtração: + e - Multiplicação por um escalar: * Potenciação: ^ Transposta: Determinante: det(nomematriz) Inversa: inv(nomematriz) 2. Definição de matrizes especiais Matriz identidade de tamanho n: a = eye(n,n) Matriz nula de tamanho n: a = zeros(n,n)

Multiplicação de matrizes quadradas Operadores Multiplicação própria de matrizes: * Aplicação: A*B, onde A M(n, m) e B M(m, p) Multiplicação e divisão elemento a elemento:.* e./ Aplicação: A.*B (ou A./B), sendo A e B M(n, m) Potenciação de cada elemento da matriz:.^ Aplicação: A.^p, onde A M(n.m) e p N Divisão à esquerda: Usa-se para expressar o produto A 1 b. Nesse caso, usa-se o operador \ A\B significa inv(a) * B Divisão a esquerda elemento a elemento A.\ B inv(a).* B (Verificar!)

Exemplos práticos 1. Defina uma matriz identidade de 5x5 no Scilab. 2. Inicializar todos os elementos de uma matriz A igual a zero. 3. Calcular a potência A n, onde: para n = 1, 2, 3, 4, 5, 6. A = 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

Tamanho de variáveis size(a) length(x) Retorna o número de linhas e colunas da matriz A Retorna o número de elementos do vetor x

Editor SciNotes do Scilab Objetivos do editor 1. Escrever comandos a serem executados no Scilab 2. Depurar algoritmos Extensão para os arquivos editados no Scipad. Alguns destes, são: 1..sce (Arquivo geral de comandos) 2..sci (Arquivo contendo a definição de uma função)

SciNotes

Comandos de leitura e impressão de dados numéricos input: Prompt para entrada de dados. Exemplo Exemplo. n = input( ingresse o valor do número de iterações ); printf: Emulador da função da linguagem C printf Exemplo. printf( Valor de n = %d \n, n); //: Marca o início de um comentário. As barras, tanto quanto o restante dos caracteres até o fim das linhas não são interpretados. Exemplo. // Duas barras em Scilab me permitiu colocar este texto clear: Cancela variáveis declaradas. clc: Limpa janela de comandos clf: Limpa ou reajusta a (janela da) figura gráfica corrente para valores padrões; scf(n): Abre janela de apresentação de figura gráfica com identificador de valor n.

Exemplos práticos Abrir um arquivo no editor de comandos e escrever: // Meu primeiro programa // ************************ // Autor: // Data: // Objetivo: Mostrar o uso de alguns comandos do Scilab no editor de comandos x=1, y=2 print(alor de x = %lf e de y = %lf \n, x, y)

Funções predefinidas no Scilab: básicas abs(x) retorna o valor absoluto de x: x sign(x) retorna o sinal de x, 1 se x>0, -1 se x<0, e 0 se x=0 sqrt(x) retorna a raiz quadrada de x exp(x) retorna a função exponencial de x: e x log(x) retorna o logaritmo natural de x: ln(x) log10(x) retorna o logaritmo de x na base 10: log 10 x

Funções predefinidas no Scilab: trigonométricas sin(x) sind(x) asin(x) cos(x) cosd(x) acos(x) tan(x) retorna o sen(x), para x em radianos retorna o sen(x), para x em graus sexagesimais retorna o arcoseno(x) em radianos retorna o cos(x), para x em radianes retorna o cos(x), para x em graus sexagesimais retorna o arcocos(x) em radianos retorna a tan(x), para x em radianos

Funções predefinidas no Scilab: arredondamento round(x) fix(x) floor(x) ceil(x) retorna o inteiro mais perto de x retorna o inteiro mais perto de x em direção a zero: arredonda acima para números negativos arredonda abaixo para números positivos retorna o maior inteiro abaixo de x retorn o menor inteiro acima de x

Definição de função usando o comando deff deff ( [y1,y2,...,yn] = nome_funcao(x1,x2,...,xm), y1=regra1(x1,x2,...,xm), y2=regra2(x1,x2,...,xm),...,yn=regran(x1,x2,...xm) ) Example Definir a função y = x 2 no Scilab e calcular o valor numérico dessa função para x=2. > deff( vary=funcaoquadraticasimples(varx),vary=varx^2 ); > y = funcaoquadraticasimples(2) \\ y = 4.

Definição de função usando o comando function function [y1, y2,...,yn] = nome_funcao(x1, x2,...,xn) instrucao_1 instrucao_2 endfunction. instrucao_n Example Definir a função y = x 2 no Scilab e calcular o valor númerico dessa função para x=2.

Comandos de programação para iterações Comandos para iterações 1. O loop for for end variavel = vetor_linha instrucao_1 instrucao_2. instrucao_n 2. O loop while while end condicao instrucao_1 instrucao_2. instrucao_n

Exemplos práticos Exemplo. Calcular o valor de x =2 * i onde i =2, 3,4,5,6

Comandos de programação para condicionais Comandos condicionais 1. Comando if-then-else if condicao then sequencia_de_instrucoes_1 else sequencia_de_instrucoes_2 end 2. Comando select-case select variavel_de_teste case expressao_1 case. case else end expressao_2. expressao_n sequencia_de_instrucoes_1 sequencia_de_instrucoes_2. sequencia_de_instrucoes_n sequencia_de_instrucoes_n+1

Operadores de comparação Maior que Maior e igual que Menor que Menor ou igual que Igual que E ou Não igual a>b a>=b a<b a<=b a==b a & b a b a~=b

Exemplo

Lembrando o conceito do gráfico de uma função 1. Seja f : A R R uma função de uma variável, seu gráfico é: Graf (f ) = {(x, y)/x Domf = A y = f (x)} R 2 2. E g : A R 2 R uma função de duas variáveis, seu gráfico é: Graf (g) = {(x, y, z)/(x, y) Domf = B e z = g(x, y)} R 3 3. Se o domínio da função é finito, então o gráfico da função é um conjunto finito.

Observação 1. Se o domínio de uma função f de R em R é um intervalo, isto é, f : [a, b] R, então o domínio da função f é um conjunto infinito. 2. O computador não pode representar todos os números (conjunto infinito) do intervalo [a, b]. Portanto, o esboço do gráfico da função f no computador exige a escolha de um subconjunto de pontos do conjunto Graf (f ),isto é, conjunto da forma: {(x 1, y 1 ), (x 2, y 2 ), (x 3, y 3 ), (x 4, y 4 ), (x 5, y 5 ),..., (x n, y n )}

Um exemplo de escolha de pontos do Graf (f ) Problema. Esboçar o gráfico da função f : [a, b] R. 1. Escolha de pontos xi. Supondo-se que se deseja escolher pontos igualmente espaçados em [a,b], pode-se seguir o seguinte roteiro: 1.1 Defina dx = (b a)/n, com n sendo o número de subintervalos 1.2 Defina o vetor de abscisas x no Scilab por: x = [a : dx : b] 1.3 Calcule o vetor y associado ao vetor x por: y = f (x) 2. Aplique o comando plot2d do scilab aos vetores x e y, como se segue: plot2d(x,y)

Figura: y = x 2, x [ 2, 2] e n=80.

Exemplo prático 1: Colocando grid 6 4 2 0-2 -4-6 -8-3 -2-1 0 1 2 3 Figura:

Exemplo prático 2: Colocando grid e eixos 6 4 2-3 -2-1 0 1 2 3 0-2 -4-6 -8

Exemplo prático 3: Acrescentando legenda y= 2x-1 6 4 2-3 -2-1 0 1 2 3 0-2 -4-6 -8