Minicurso: Introdução ao SciLab
|
|
|
- Yasmin Marreiro Santos
- 8 Há anos
- Visualizações:
Transcrição
1 Minicurso: Introdução ao SciLab Regiane Slongo Fagundes (UTFPR-TD) Suellen Ribeiro Pardo Garcia (UTFPR-TD) Vanderlei Galina (UTFPR-TD)
2 Sumário 1 Apresentando o Scilab Introdução Algumas vantagens Instalando o Scilab Interface e menus do Scilab Noções fundamentais Usando o Scilab como uma simples calculadora Variáveis e comando de atribuição Expressões aritméticas Strings Números complexos Polinômios Operações com polinômios Vetores Plotando funções Matrizes Acesso a elementos de vetores e de matrizes Operações com vetores e matrizes Programação no Scilab Arquivos de Scripts Criação de arquivos de script O loop for O comando de decisão if-then-else Funções criadas pelo usuário Implementação Eliminação de Gauss...28
3 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. O Scilab é um software para cálculo numérico desenvolvido desde 1990 por pesquisadores do Institut de Recherche em Informatique et en Automatique (INRIA) e da Ecole Nationale des Ponts et Chaussees (ENPC) na França e mantido pelo Scilab Consortium desde É distribuído gratuitamente através da internet ( para diversas plataformas. Inclui um grande número de bibliotecas (toolboxes) que englobam funções gráficas, integração numérica, álgebra linear, otimização e outras. Além de diversas funções matemáticas, possui a possibilidade de interação com programas em várias linguagens como o C e Fortran. É uma plataforma em constante atualização e aperfeiçoamento (Scilab = Scientific Laboratory : Pronúncia em sintaxe fonética internacional é sailæb.) 1.2 Algumas vantagens do Scilab É uma poderosa ferramenta para cálculos científicos. É de fácil aprendizado. A última versão do software está 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. 1.3 Instalando o Scilab Acesse o site entre em Products, escolha a opção Scilab. Do lado esquerdo da página você encontrará a opção Download. Agora, basta fazer a opção do seu sistema operacional. 1
4 1.4 Interface e menus do Scilab 2 Noções fundamentais 2.1 Usando o Scilab como uma simples calculadora O Scilab pode fazer operações aritméticas simples com números reais e complexos. Os operadores aritméticos são: 2
5 Adição + Subtração - Multiplicação * Divisão / Potenciação ^ Execute o Scilab no seu sistema e procure pelo símbolo (prompt): --> Exemplos: -->2+3 [ENTER] 5. -->5+6/2 [ENTER] 8. -->4^2 //4 elevado a potência de A variável ans (answer) armazena o valor do último cálculo realizado. Exemplo: --> >ans Variáveis e comando de atribuição Informações são armazenas em variáveis para posterior uso. Muitos programadores costumam 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 (=). Exemplo: -->a = 2 // Atribui 2 para variável a a = 2. -->b = 4 // Atribui 4 para variável b b = 4. -->area = a*b // Atribui o produto de a e b para a variável area 3
6 area = 8. -->b = b+1 // Incrementa uma unidade na variável b b = 5. 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. OBS.(2): 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^2 A = 20. Mais exemplos: -->a=2; -->b=4; -->area=a*b // aqui o ponto e vírgula foi suprimido porque precisamos visualizar o resultado. area = Expressões aritméticas As regras importantes são: prioridade, associatividade e parênteses. Prioridade Operação Associatividade 1ª 2ª 3ª Potenciação Multiplicação / Divisão Adição / Substração da direita para a esquerda da esquerda para a direita da esquerda para a direita 4
7 Exemplos: Com relação à prioridade: 2+10/5 // 10/5 é avaliada primeiro. A+B/C+D // B/C é avaliada primeiro. R*3+Bˆ3/2+1 // Bˆ3 é avaliada primeiro. Com relação à associatividade: A-B+C+D //A-B é avaliada primeiro, porque está mais a esquerda. A*B/C*D //A*B é avaliada primeiro, porque está mais a esquerda. A^B^C^D //CˆD é avaliada primeiro, porque está mais a direita. A ordem de prioridade pode ser alterada pelo uso dos parênteses: (A+4)/3 //A+4 é avaliada primeiro devido aos parênteses (A-B)/(C+D) //A-B é avaliada primeiro. Depois a adição. Por último, a divisão. R*3+B^(3/2)+1 //3/2 é avaliada primeiro. Além dos operadores aritméticos podemos usar funções matemáticas. Exemplos: 2+3*cos(x) x^(2*sin(y)) 2+3*tan(x)+k^2 As principais funções matemáticas do Scilab são mostradas na tabela a seguir. abs(x) Valor absoluto. acos(x) Arco cosseno. acosh(x) Arco cosseno hiperbólico. asin(x) Arco seno. asinh(x) Arco seno hiperbólico. atan(x) Arco tangente. atanh(x) Arco tangente hiperbólico. conj(x) Conjugado. cos(x) Cosseno. cosh(x) Cosseno hiperbólico. exp(x) Exponencial: e x. imag(x) Parte imaginária de um número complexo. log(x) Logaritmo natural. log10(x) Logaritmo na base 10. real(x) Parte real de um número complexo. modulo(x,y) Resto da divisão de x por y. sign(x) Função sinal: retorna o valor -1, +1 seja negativo, positivo ou nulo, respectivamente. sin(x) Seno. 5
8 sinh(x) sqrt(x) tan(x) tanh(x) Seno hiperbólico. Raiz quadrada. Tangente. Tangente hiperbólica. Exemplos de funções matemáticas: // O número π e a base do logaritmo natural e = 2, são representadas pelas variáveis especiais %pi e %e. -->cos(2*%pi) // cosseno de 2 vezes PI 1. -->%e^2 // 2, ao quadrado >abs(-5) // valor absoluto 5. -->modulo(8,3) // Resto da divisão entre 8 e >modulo(6,3) 0. -->sign(-4) // Função sinal: retorna o valor -1, +1 ou zero conforme o argumento x seja negativo, positivo ou nulo, respectivamente >sign(5) 1. Também temos Funções de Arredondamento, como por exemplo: -->a = ; -->fix(a) // trunca a parte fracionária >round(a) // arredonda para o inteiro mais próximo 35. 6
9 -->ceil(3.1) // arredonda para mais. 4. As principais funções de arredondamento do Scilab são mostradas na tabela a seguir. ceil(x) Arredondamento na direção de mais infinito. fix(x) Arredondamento na direção de zero (isto é, desenvolve a parte inteira de um número). floor(x) Arredondamento na direção de menos infinito. int(x) Mesmo que fix. round(x) Arredondamento para o inteiro mais próximo. Exemplos de funções de arredondamento: x ceil(x) floor(x) fix(x) round(x) Podemos modificar o Formato de Visualização dos Números com o comando format modifica a quantidade de dígitos com que os números são mostrados no Scilab. Por exemplo, o comando --> format(5) //fará com que todas os números sejam visualizados em 5 posições incluindo o ponto decimal e um espaço para o sinal Exemplo: -->sqrt(3) 1.73 Para aumentar o número de posições para 16, usa-se: -->format(16) -->sqrt(3) A raiz de 3 foi mostrada ocupando 16 posições (sendo uma posição para o ponto, um espaço reservado para o sinal, uma posição para a parte inteira e 13 posições para a parte fracionária). O comando format( e ) mostra os números em notação científica. 7
10 Por exemplo: -->format( e ) -->2*%pi/ E-01 // E-01 significa ^ 1. Para retornar ao formato inicial usa-se -->format( v ) que é chamado de formato de variável. 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: %pi O número %eps Constante que representa a precisão numérica da máquina. É o menor número que, somado a 1, resulta em um número maior do que 1 no computador. %inf Representa o infinito. %i 1 %e A base do logaritmo natural. %t ou %T Representa o valor booleano verdadeiro. %f ou %F Representa o valor booleano falso. 2.4 Strings Strings são usados para toda e qualquer informação composta de caracteres alfanuméricos e/ou caracteres especiais. Exemplos #, $, &, <, ~, etc. Os strings são envolvidos por aspas duplas ou simples. Exemplos: -->a= "Maria e Jose" a = Maria e Jose Um das atividades mais comuns em programação é a concatenação de strings. Exemplos: -->n = "Pedro" n = Pedro -->m = "Paulo" m = 8
11 Paulo -->m + n // Concatena Paulo com Pedro sem PauloPedro -->m + + e + +n Paulo e Pedro 2.5 Números complexos A unidade imaginária é representado por %i, ou seja, %i = sqrt(-1). 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 3 Polinômios Os polinômios são criados no Scilab através da utilização da função 2 poly. Por exemplo, o polinômio p = 4 3t t, que possui raízes -1 e 4, pode ser criado através do comando, -->p=poly([-1 4],'t') // Polinômio definido pelas suas raízes p = t + t Com a função roots, comprovamos que as raízes de p são, realmente, -1 e 4, -->roots(p) //raízes do polinômio p 9
12 Um polinômio também pode ser criado a partir da especificação de seus coeficientes através do comando, coeff. Exemplo, o polinômio m = 4t >m=poly([-1 4],'t','coeff') // polinômio definido pelo seus coeficientes m = t 3.1 Operações com polinômios Vamos definir dois polinômios p e q, de fácil manipulação algébrica para evidenciarmos as operações entre eles. -->p=poly([1 2 1], 't','coeff'); -->q=poly([1 1], 't','coeff'); -->p/q 1 + t >p+q 2 + 3t + t -->p-q t + t
13 -->p*q //Multiplicação t + 3t + t -->[r,q]=pdiv(p,q) //Quociente e resto da divisão de p por q q = 1 + t r = 0. Para obter valores de polinômios, usamos a função horner, -->horner(p,2) 9. 4 Vetores Vamos considerar o conjunto dos números reais. Dizemos que x é n um vetor de dimensão n em, indicado por x, se, e somente se, x1 x 2 x xn Nessa definição, cada um dos elementos do vetor x, xi, pertence a, xi O elemento xi é o i-ésimo elemento do vetor x. O vetor x definido anteriormente é um vetor coluna. Para explicitar esta condição, escrevemos x n1 11
14 Essa notação indica que o vetor x possui n linhas e apenas uma coluna. No Scilab, os vetores são criados colocando-se seus componentes entre colchetes, [ ]. Os elementos de um vetor coluna são separados por ponto-e-vírgula. Assim, -->x=[1;2;3] // vetor coluna. Elementos separados por ; x = Um vetor linha, y, de dimensão n em pode ser escrito na forma y y1 y2 y n [... ] O vetor y definido anteriormente é um vetor linha. Para explicitar esta condição, escrevemos y 1n Essa notação indica que o vetor y possui apenas uma linha e n colunas. -->y=[1 2 3] // vetor linha; Elementos separados por espaço y = >w=[4,5,6]; // vetor linha; Elementos separados por vírgula Se x é um vetor coluna, x T (lê-se x transposto ) e um vetor linha. Essa operação é realizada no Scilab através da utilização do símbolo (apóstrofo). -->x' // vetor transposto = vetor linha Para determinarmos a dimensão de um vetor, utilizamos o comando size, 12
15 -->size(x') Vetores podem ser multiplicados ou divididos por quantidades escalares. Também, vetores de mesma dimensão podem ser somados ou subtraídos. -->3*x //multiplicando x por uma constante >w/3 // dividindo y por uma constante >x'+w // somando dois vetores de mesma dimensão n1 Dados dois vetores de mesma dimensão, x, y, define-se o produto escalar ou produto interno entre x e y através da expressão vetorial, z = x T y. Assim, considerando os vetores: Temos: 1 4 x 2 e y >z=x'*y // Atribuindo a z o produto escalar entre x e y z = 13
16 32. Nos exemplos a seguir, mostramos outras maneiras de construir vetores, usando índices e algumas funções internas do Scilab: -->v=[3:0.5:5] // Vetor com elementos decrementados v = >m = ones(1:4) // Vetor constituído de elementos iguais a 1 m = >f = zeros(1:5) // Vetor constituído de elementos iguais a 0 f = Plotando funções A função básica para gráficos é plot, com a seguinte estrutura: plot ( [veto i], [vetor j] ) -->x=[1 2 3]; -->y=[4 5 6]; -->plot(x,y) Podemos utilizar outras funções como plot2d Reta -->x=[-1:0.2:6]; -->y=7-3*x; -->plot2d(x,y) Parábola -->x=[-4:0.1:4]; 14
17 -->plot2d(x,x^2-2) Senóide -->x=[0:0.1:2*%pi]; -->y=sin(x); -->plot2d(x,y) Todos os comandos estão disponíveis na biblioteca Graphic Library no Help (?) do programa. -->apropos graphics -->help plot 5 Matrizes No Scilab, as matrizes são representadas entre colchetes, [ ]. Os elementos que constituem as linhas das matrizes são separados por espaços ou por vırgulas. A indicação de termino de cada linha da matriz é feita com ponto-e-vírgula. Nos exemplos a seguir, para fixar conceitos, a matriz A é digitada com os elementos de suas linhas separados por espaços enquanto a matriz B é digitada com os elementos de suas linhas separados por vırgula. Assim, -->A=[1 2 3; 5-8 9] espaço // Matriz A - Elementos das linhas separados por A = >B=[1,2,3;4,5,6]; vírgulas -->size(a); -->size(b); // Matriz B - Elementos das linhas separados por // Dimensão da matriz A // Dimensão da matriz B 15
18 Uma outra forma de digitar matrizes no ambiente Scilab, é separando os elementos de uma linha por espaço (ou por vírgula) e as linhas separadas por enter, -->M = [ > > ]; Matrizes podem ser multiplicadas ou divididas por quantidades escalares. Também, matrizes de mesma dimensão podem ser somadas ou subtraídas. Considerando as matrizes A e B do exemplo anterior, temos: -->2 * A; // Multiplicação por um escalar -->A / 2; -->A + B; // Divisão da matriz A por uma constante // Somando as duas matrizes mn Se A,a transposta da matriz A, indicada por A T T nm, A. No Scilab, a transposição é indicada pelo símbolo (apóstrofo), então a transposta de A fica A. Considerando a matriz B do exemplo anterior, temos: -->size(b) ; -->C=B'; -->size(c); // Dimensão da matriz B // C = transposta da matriz B // Dimensão da matriz C B, Se A m p pn e B, podemos definir o produto das matrizes A e C A B mn Observar que, para que possa haver a multiplicação entre duas matrizes, é necessário que o número de colunas da primeira matriz seja igual ao número de linhas da segunda matriz. -->A=[1 2 3;4 5 6;7 8 9]; -->B=[1 4; 2 5; 3 6]; -->size(a); -->size(b); 16
19 -->A * B Podemos usar funções internas do Scilab para gerar matrizes. Por 23 exemplo, usamos a função ones para criar a matriz D, com todos os elementos iguais a 1, -->D = ones(2,3); 33 ou a função zeros para criar a matriz E, com todos os elementos iguais a 0, -->E = zeros(3,3); ou, ainda, a criação de uma matriz identidade, I através da função interna eye, -->I = eye(4,4); Podemos criar matrizes a partir de elementos de outras matrizes, -->// Definido as matrizes A, B e C -->A = [1 2; 3 4]; -->B = [5 6; 7 8]; -->C = [9 10; 11 12]; -->// Definindo a matriz D -->D = [A B C] D = Acesso a elementos de vetores e de matrizes O acesso a elementos de um vetor ou de uma matriz pode ser realizado de diversas maneiras. 17
20 Dentre elas, podemos citar: a utilização explícita dos índices do elemento a ser acessado, a utilização do símbolo : (dois pontos) a utilização do símbolo $ Vamos considerar o vetor linha v = [ ]. O acesso a um elemento deste vetor é feito de forma convencional, o índice do vetor indicando qual elemento que está sendo acessado. Assim, -->v= [ ] v = >v(1); // acesso ao primeiro elemento de v O símbolo : permite definir formas compactas de acesso a elementos de um vetor. Por exemplo, -->v(2:4); -->v(:); -->v(1:2:7); // acesso aos elementos 2, 3 e 4 de v // acesso a todos os elementos de v // acesso aos elementos ímpares de v enquanto o símbolo $ permite acessar o último elemento do vetor, -->v($) // acesso ao último elemento de v 7. Em relação as MATRIZES, temos: -->// Definindo uma matriz A -->A = [1 2 3; 4 5 6] A = 18
21 >A(1,2); // Acessando o elemento da primeira linha e segunda coluna de A O comando M = A([1 2], 2), permite construir uma matriz, M, composta pelo primeiro e segundo elementos, indicados pelo vetor [1 2], da segunda coluna da matriz A, -->M = A([1 2], 2); Considerando a matriz A do exemplo anterior, o comando A(:,3), permite acessar todos os elementos da terceira coluna da matriz A, -->A(:, 3); // Todos os elementos da terceira coluna da matriz A enquanto o comando A(2,:) permite acessar todos os elementos da segunda linha da matriz A, -->A(2,:); -->A($); -->A(1); -->A(5); -->A(:); // Todos os elementos da segunda linha da matriz A // Acesso ao último elemento de A // Primeiro elemento de A // Quinto elemento de A // Todos os elementos armazenados por coluna É possível alterar os valores de elementos de uma matriz. Considerando a matriz A, podemos mudar o valor do seu elemento A(2,1) através do comando de atribuição A(1,2) = 10, -->A(1,2) = 10 // Atribuir a A(1,2) o valor 10 A =
22 Depois, atribuímos os valores [-1; -2] aos primeiro e segundo elementos da segunda coluna da matriz A, -->A([1 2], 2) = [-1; -2] // A(1,2) = -1 e A(2,2) = -2 A = Finalmente, modificamos os elementos A(1,1) e A(1,2) da matriz A. -->A(:,1) = [8;5] // A(1,1) = 8 e A(1,2) = 5 A = Operações com vetores e matrizes SÍMBOLO OPERAÇÃO transposta + adição - subtração * multiplicação / divisão à direita \ divisão à esquerda ^ exponenciação.* multiplicação elemento-a-elemento.\ divisão, à esquerda, elemento-a-elemento./ divisão, à direita, elemento-a-elemento.^ exponenciação elemento-a-elemento As operações envolvendo os operadores, +, -, * e / já foram apresentadas em parágrafos anteriores. Os outros operadores mostrados na Tabela serão apresentados nessa Seção. Vamos analisar a utilização do operador \. Para isso, definimos um sistema de equações lineares, 20
23 a x a x a x b 1,1 1 1,2 2 1, n n 1 a x a x a x b 2,1 1 2,2 2 2, n n 2... a x a x a x b n,1 1 n,2 2 n, n n n Que pode ser escrito na forma matricial Onde Ax=b A= a a... a a a... a a a a 1,1 1,2 1, n 2,1 2,2 2, n n,1 n,2 n, n com x= x1 x 2 xn e b= b1 b 2 bn nn Nas expressões anteriores, A é a matriz dos coeficientes, n1 n1 x é o vetor das incógnitas e b é o vetor de termos independentes. Resolver um sistema linear é obter o valor do vetor x. Na situação mais simples, a matriz A -1 é não-singular (admite inversa) e a solução, única, é dada pela expressão: --> x = inv(a) * b Seja o sistema de equações dado: 2x13x2 7 x1 4x2 2 Temos: -->inv(a) //A admite inversa 21
24 >B=[7; -2] // vetor B B = >x=inv(a)*b // Solução do sistema linear x = O mesmo resultado pode ser encontrado utilizando-se o operador \. Temos, então, -->x=a\b //Resolução de Ax = b usando o operador \ x = É importante observar que o símbolo \ não define uma divisão matricial. Indica, apenas, uma outra forma de se obter a solução de um sistema linear. O operador. (ponto), como pode ser visto na Tabela, é utilizado com outros operadores (*, \, /, ^) para realizar operações elemento a elemento de vetores ou de matrizes. A sessão do Scilab a seguir mostra exemplos dessas operações utilizando vetores. -->x = [ ]; -->y = [ ]; -->x.* y; //Definição do vetor x //Definição do vetor y // Multiplicação elemento a elemento -->x * y!--error 10 Multiplicação incoerente. 22
25 A operação.* gera um vetor formado pelo produto dos elementos dos vetores x e y. Apenas para fixar conceitos, verificamos que a operação x * y não pode ser realizada. Continuando com os exemplos, usamos os operadores./ para dividir os elementos do vetor x pelos elementos do vetor y, -->x./ y ; -->x.\ y; // elementos do vetor x divido pelos elementos do vetor y // elementos do vetor y divido pelos elementos do vetor x A utilização do operador.^ é mostrada nos exemplos apresentados em seguida, -->x.^ y; -->y.^ x; Vamos verificar também a utilização do operador. (ponto) em conjunção com os operadores (*, \, /, ^) quando se trata de matrizes. Para 33 isso, vamos considerar a matriz quadrada A, A A sessão do Scilab a seguir mostra exemplos dessas operações utilizando matrizes. -->A = [ 1 2 3; 4 5 6; 7 8 9]; // Definindo a matriz A A = >A.* A; -->A ^ 2; -->A * A; -->A./ A; 23
26 33 Para fixar conceitos, vamos considerar a matriz quadrada B B >B = [ 2 2 2; 2 2 2; 2 2 2]; // Definição da matriz B -->A./ B; -->A.^ B; -->A.\ B; que equivale á operação -->B./ A; 6 Programação no Scilab 6.1 Arquivos de Scripts Um arquivo de script é um arquivo texto que contém uma sequencia de comandos para ser executada. O Scilab executa esses comandos automaticamente da mesma forma como se fossem digitados na linha de comando. O editor de texto do Scilab é o SciNotes. 6.2 Criação de arquivos de script Para criar um arquivo de script clique no botão ferramentas ou no menu Aplicativos» SciNotes: na barra de Crie um arquivo script com os comandos: 24
27 Salve com o nome Soma.sce no menu Arquivo» Salvar. Escolha a pasta que preferir. Por padrão o Scilab salva os arquivos de script na pasta onde foi instalado, porém você pode alterar este caminho clicando em Arquivo» Alterar diretório atual, ou no botão. Na janela do arquivo script clique em resultado aparecerá no console do Scilab: para executar os comandos. O 6.3 Estruturas for e if O loop for A forma geral do comando for é: for variável = vetor linha instrução 1 instrução 2... instrução n end 25
28 Por exemplo, vamos fazer a soma : Clique no botão executar para ver o resultado O comando de decisão if-then-else O comando if tem a forma geral: if condição1 then sequencia de instruções 1 elseif condicao2 sequencia de instruções 2... else end sequencia de instruções n Exemplo: 26
29 6.4 Funções criadas pelo usuário A forma geral de uma função é: function [y1, y2,..., ym]=nomedafunção(x1, x2,..., xn) comandos... endfunction Como exemplo, vamos criar a função somadif: No console do Scilab chamamos a função somadif(a, b) executando o arquivo que a contém: exec( somadif.sce ). 27
30 Depois passamos os dois parâmetros necessários para a função somadif(a, b). Esta função retornará dois valores, a soma a b e a diferença a b, que vamos armazenar nas variáveis s e d : 6.5 Implementação Eliminação de Gauss Vamos implementar o Método da Eliminação de Gauss para resolução de sistemas lineares. Isso será feito em duas etapas: 1) Escalonamento da matriz dos coeficientes Algoritmo: Para k 1,..., n 1 Para i k 1,..., n a m a ik kk aik 0 Para j k 1,..., n a a ma b b mb i i k ij ij kj 28
31 Consideremos o sistema de equações lineares: 3x1 2x2 4x3 1 x1 x2 2x3 2 4x 1 3x 2 2x x x x 3 3 Aplicando a função que acabamos de criar: 29
32 2) Resolução do sistema Algoritmo: xn bn / ann Para k ( n 1),...,2,1 s 0 Para j ( k 1),..., n s s a x kj x ( b s) / a k k kk j Vamos incluir o código para resolução do sistema na função elimgauss(): Chamando a função elimgauss(a, b) na console do Scilab, temos como resultado: 30
33 31
Introdução ao Scilab 3.0 Parte 2
Introdução ao Scilab 3.0 Parte 2 Paulo S. Motta Pires [email protected] Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte NATAL - RN Paulo Motta (DCA-UFRN)
Murilo F. Tomé ICMC-USP
INTRODUÇÃO AO MATLAB Murilo F. Tomé ICMC-USP Pré-requisitos: Utilização de editor de texto; Atribuição de valores e manuseio de variáveis; Manuseio de loops; Números reais e complexos; Vetores e matrizes.
INTRODUÇÃO AO SCILAB
INTRODUÇÃO AO SCILAB O programa SCILAB é um ambiente apropriado ao desenvolvimento de software para computação numérica. Esse programa foi concebido e é mantido pelo Institut de Recherche em Informatique
Introdução ao SciLab. SciLab O que é? Onde obter o programa:
Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010
Introdução ao Scilab
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
Introdução ao Scilab
Universidade do Estado do Rio de Janeiro Faculdade de Engenharia Laboratório de Engenharia Elétrica Introdução ao Scilab (Aula 2) Elaine de Mattos Silva Orientador: Prof. José Paulo Vilela Soares da Cunha
Introdução ao Scilab. Comandos de entrada e saída de dados.
BCC701 Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/bcc701 2012/01 Semana 02: Introdução ao Scilab. Comandos de entrada e saída
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho [email protected] Material produzido pelo professor: Leandro Augusto Frata Fernandes ([email protected])
Introdução ao software Scilab
Introdução ao software Scilab Objetivos: Introduzir os conceitos e comandos fundamentais do programa Scilab e da sua ferramenta XCOS. Tal estudo será voltado para aplicações de Sistemas de Controle. Introdução
Material Didático Unificado.
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material
Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica
Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701 www.decom.ufop.br/moodle Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada
Programação de Computadores:
Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Introdução ao FORTRAN Cinco aspectos
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red AULA TEÓRICA 02 1 Prof. Marcelo Luiz Silva Red CONTEÚDOS DA AULA
02 - Introdução ao Scilab
BCC701- Programação de Computadores I 02 - Introdução ao Scilab Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2018-02 DECOM 02 - Introdução
Aula 03 - Introdução ao Scilab (p2)
BCC701- Programação de Computadores I Aula 03 - Introdução ao Scilab (p2) Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2019-01 DECOM
Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.
Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material
Minicurso MATLAB BÁSICO MÓDULO 1
Minicurso MATLAB BÁSICO MÓDULO 1 Vitorino Biazi Robertson Junior Jhonata Moraes Comissão do Minicurso Sávio Alves Gabriel Nunes Thiago Bragança Roteiro do primeiro módulo Introdução Área de trabalho Variáveis
Aula 02 - Introdução ao Scilab (p1)
BCC701- Programação de Computadores I Aula 02 - Introdução ao Scilab (p1) Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2019-01 DECOM
Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2
Universidade Federal do Rio de Janeiro Instituto de Matemática / DCC Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação - 2003/2 Prof. A. C. G. Thomé, PhD [email protected] Airam C. P.
Unidade 3: Linguagem de programação
Unidade 3: Linguagem de programação 3.5. Trabalhando com polinômios, vetores e matrizes O programa Scilab trabalha com polinômios, vetores e matrizes de forma similar a vários pacotes computacionais disponíveis
MATLAB EM VIBRAÇÕES MECÂNICAS
MATLAB EM VIBRAÇÕES MECÂNICAS O QUE É O MATLAB? O MATLAB ( MATrix LABoratory ) é um pacote de programas computacionais que pode ser usado para a resolução de uma variedade de problemas científicos e de
Introdução ao MATLAB. Afonso Paiva ICMC-USP
Introdução ao MATLAB Afonso Paiva ICMC-USP MATrix LABoratory é um software para computação científica resolve numericamente problemas matemáticos de forma rápida e eficiente possui uma família de pacotes
Diagrama do Lugar Geométrico das Raízes
Diagrama do Lugar Geométrico das Raízes Objetivos: Estudar a aplicação de ferramentas de apoio à engenharia tais como Matlab e Scilab para o traçado do diagrama do Lugar das Raízes. Introdução O método
Introdução à Computação
Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento [email protected] Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos
SCILAB. Software livre para cálculo numérico e simulação de sistemas físicos Utilizado nas áreas de:
SCILAB Software livre para cálculo numérico e simulação de sistemas físicos Utilizado nas áreas de: Controle e processamento de sinais Automação industrial Computação gráfica Matemática Física Entre outras.
Introdução à Ciência da Computação
Introdução à Ciência da Computação Unidade III Programação de Computadores com Octave Uso do Octave no Modo Interativo Prof. Roberto M. de Faria/DSC/UFCG Ajuda para o Octave Para ter acesso à documentação
SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB
Aula 01 Introdução ao software MATLAB O MATLAB (Matrix Laboratory) é um ambiente de programação de alto desempenho voltado para a resolução de problemas expressos em notação matemática, projeto e simulação
ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados
3. Introdução Segundo alguns especialistas, qualquer programa de computador pode ser escrito utilizando apenas três estruturas básicas: Seqüência, Condição e Repetição. Isto significa que, na construção
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 10 04/2014 Scilab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal
Programação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 10 04/2014 Matlab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal
Breve Introdução à Programação em Scilab 6.0
Universidade Federal do Paraná UFPR Departamento de Engenharia Química Breve Introdução à Programação em Scilab 6.0 Prof. Éliton Fontana 2018/2 2 Conteúdo 1 Conceitos Básicos 4 2 Operando Vetores e Matrizes
Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial
Programa de Educação Tutorial Mini curso básico Universidade Federal do Espírito Santo Departamento de Informática Gilberto A. S. Segundo Fábio Carmo Agenda Apresentação Vetores e matrizes em matlab Comandos
Introdução ao MATLAB
Introdução ao MATLAB Antonio C. Roque, Rodrigo F. O. Pena e Renan O. Shimoura 15 de março de 2017 O MATLAB (MATrix LABoratory) é um ambiente de programação, visualização e análise de dados de alto nível
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 LAYOUT DO MATLAB Espaço destinado às variáveis veis que
MATLAB. Que é MATLAB?
MATLAB Que é MATLAB? MATLAB é o nome abreviado de MATrix LABoratory. MATLAB é um programa para realizar cálculos numéricos com vetores e matrizes. Como caso particular pode também trabalhar com números
Aula Teórica 14 Matrizes
Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência da Computação www.decom.ufop.br/gustavo Aula Teórica 14 Matrizes Material Didático Proposto 1 Agenda Introdução;
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser
UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS
UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS COMO INSTALAR E UTILIZAR O SCILAB Tânia Michel Pereira Juliane Sbaraine Costa
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Prof. Dr. Marco Antonio Leonel Caetano
Forecasting e Otimização de Carteiras com Matlab Prof. Dr. Marco Antonio Matlab O que é? Como funciona? Fundamentos - Ambiente de programação avançada - Ambiente de execução de programas - Permite utilização
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
Aula 08: Repetição (Parte 3)
Aula 08: Repetição (Parte 3) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão
Algoritmos RESUMO - LINGUAGEM C
Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado
Introdução a Matrizes
Programação de Computadores I UFOP DECOM 2013 2 Tutorial Introdução a Matrizes Resumo Neste tutorial você irá aprender como criar matrizes, como realizar operações aritméticas básicas sobre matrizes e
Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Aula 6 Módulo 5. DCC 001 Programação de Computadores 2 Semestre de 2011 Prof. Osvaldo Carvalho UFMG DCC
Aula 6 Módulo 5 3 Ambiente e Linguagem Scilab 3.1 Compiladores, Interpretadores e Sistemas Operacionais 3.2 Scilab 3.2.1 Variáveis e Comandos de Atribuição 3.2.2 Programas Scilab 3.2.3 Comandos input,
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!
Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;
Matlab Noções introdutórias. Roteiro para aula
Matlab Noções introdutórias Roteiro para aula Matlab- Variáveis Pode-se criar variáveis na área de trabalho Comandos encerrados com ; não geram eco na área de trabalho >> a = 65 a = 65 >> a = 65; >> Matlab-
Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi
Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se
Algoritmos e Técnicas de Programação. Professora: Luciana Faria
Algoritmos e Técnicas de Programação Professora: Luciana Faria Entrada e Saída de Dados Funções matemáticas #include Função ceil cos exp fabs floor log log10 pow sin sqrt tan Exemplo ceil(x)
CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo
CMP1044 - Algoritmos Professor Vicente Paulo de Camargo Variáveis Uma variável é um local na memória principal (RAM) Ou seja, é um endereço na memória do computador o qual armazena um conteúdo Cada variável
Iteração e Pontos Fixos
Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.
Apostila Octave, o básico
Apostila Octave, o básico CAPÍTULO 1 - INTRODUÇÃO Sejam bem vindos à disciplina de Cálculo Numérico!! Nessa primeira aula, veremos conceitos básicos para o entendimento do programa Octave. Para começarmos,
Algoritmo e Programação Matemática
Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador
Informática no Ensino da Matemática
Informática no Ensino da Matemática Humberto José Bortolossi http://www.professores.uff.br/hjbortol/ Lista de Exercícios 3 ATIVIDADE 1 (a) Sejam u =(a b)/(a + b), v =(b c)/(b + c) ew =(c a)/(c + a). Mostre
Aula 7. Noções Básicas de Octave
CÁLCULO NUMÉRICO Aula 7 Noções Básicas de Octave COMANDOS BÁSICOS Cálculo Numérico 3/55 Símbolo >> Ao abrir o Octave, o símbolo >> aparece na Janela de Comandos. Ele indica que o programa está pronto para
Vetores, Matrizes e Gráficos
Programação de Computadores I UFOP DECOM 2013 2 Aula prática 3 Vetores, Matrizes e Gráficos Resumo Nesta aula você irá utilizar vetores para resolver diversos tipos de problemas. Para expressar a solução
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Conceitos Básicos Linguagem C
Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS [email protected] 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo
PESQUISA OPERACIONAL
PESQUISA OPERACIONAL Uma breve introdução. Prof. Cleber Almeida de Oliveira Apostila para auxiliar os estudos da disciplina de Pesquisa Operacional por meio da compilação de diversas fontes. Esta apostila
Introdução à Linguagem C
Introdução à Linguagem C 1 Histórico da Linguagem C Criada por Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix C++ é uma extensão da linguagem C O sistema Unix é escrito
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser
Definições de Algoritmos. Algoritmos e Programação I. Conceitos Básicos de Algoritmos. Relação entre Algoritmos e Programação
Definições de Algoritmos Algoritmos e Programação I Aula 2 Prof a. Márcia Cristina Moraes [email protected] Prof a. Sílvia M.W. Moraes [email protected] Algoritmo é um conjunto finito de regras, bem
Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.
Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros Ementa do Curso Primeiros Passos no MATLAB Vetores e Matrizes Resolução de sistemas
Linguagem Haskell. Riocemar S. de Santana
Linguagem Haskell Riocemar S. de Santana Haskell, o que é? É uma linguagem de programação puramente funcional, de propósito geral. Nomeada em homenagem ao matemático americano Haskell B. Curry (1900 1982).
Unidade 3: Linguagem de programação
Unidade 3: Linguagem de programação 3.3. Primeiros passos Iniciaremos os primeiros passos no aplicativo Scilab abrindo a janela principal, ilustrada na Figura 3.1. Aprenderemos inicialmente a realizar
GAAL Conhecendo alguns comandos básicos do Maple 17
GAAL Conhecendo alguns comandos básicos do Maple 17 Maple é um sistema algébrico computacional comercial de uso genérico. Constitui um ambiente informático para a computação de expressões algébricas, simbólicas
Introdução à Linguagem C. Adaptado de Deise Saccol
Introdução à Linguagem C Adaptado de Deise Saccol 1 Tradução CÓDIGO FONTE... LET SOMA = VAR1 + TOTAL... TRADUTOR CÓDIGO OBJETO... 00010110111001011001011010... MONTADOR (assembler) Tradutor para linguagens
Breve Introdução à Programação em Scilab 6.x
Universidade Federal do Paraná UFPR Departamento de Engenharia Química Breve Introdução à Programação em Scilab 6.x Prof. Éliton Fontana Prof. Fernando A. Pedersen Voll 2019/1 Contents 1 Conceitos Básicos
08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,
Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros
Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros lementa da aula de hoje: - Álgebra linear; - Polinômios; - Operações com polinômios;
