


















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
Apostila de informatica para engenharia...programa scilab
Tipologia: Notas de estudo
1 / 26
Esta página não é visível na pré-visualização
Não perca as partes importantes!



















Prof. Fábio Meneghetti Ugulino de Araújo Fevereiro de 2007 Natal - RN
No Nottaass ddee AAuullaa
Índice CCOOMMPPUUTTAAÇÇÃÃOO NNUUMMÉÉRRIICCAA.......................................................................................................... NNOOTTAASS DDEE AAUULLAAÍNDICE ..............................................................................................................
1.2 Variáveis
Variável = expressão 12.4/6. ans =
s = 1-1/2+1/3-1/4+1/5-1/6+1/7... -1/8+1/9-1/10; ...? Continua uma expressão em outra linha ;? Ao final de uma expressão o cálculo é feito mas o resultado não é apresentado O nome de uma variável pode ter no máximo 24 caracteres e o primeiro caracter tem que ser uma letra.
O SCILAB na forma normal é “case-sentive” – variável A é diferente de a.
1.3 Comandos Elementares
1.4 Números e Expressões Aritméticas
Operadores Aritméticos
+? Adição
-? Subtração *? Multiplicação /? Divisão à direita ? Divisão à esquerda ^? Potenciação
1.5 Formato de Saída
%pi %pi =
format ([type], [long])
type : “e” (exponencial) ou “v” (variável default)
long : nº máximo de dígitos (default: 8)
1.6 Outros Comandos
help : Informa sobre os comandos e funções do SCILAB.
Ex.: help inv, help help
quit : Encerra o Scilab. ( quit ou exit ) save : Grava variáveis em um arquivo
Ex.: save(‘varsalva’, a)? Grava a variável a no arquivo ‘varsalva’
load : Carrega as variáveis do arquivo.
Ex. load varsalva
1.7 Operações com Matrizes
Obs.: A matriz deve ser quadrada com (^) det(A) ≠ 0
1.9 Operadores Relacionais
< Menor que
<= Menor ou igual
> Maior que
>= Maior ou igual
= = Igual
~ = Diferente
1.10 Operadores Lógicos
& and
| or
~ not
1.11 Funções Elementares
Através do comando HELP do Scilab tem- se acesso a uma lista de funções elementares ( Elementary Functions ), cada uma acompanhada de uma breve descrição
Ex.: sin , cos , abs , log , exp , etc.
1.12 Vetores e Subscritos
Geração automática: x = xi : dx : xf Ex.: x = 1:5 → x = [1 2 3 4 5] Ex.: x = 3:-1:1 → x = [3 2 1] Ex.: x = 0:0.1:0.2 → x = [0 0.1 0.2]
1.13 Geração de Tabelas de Valores
Dados dois vetores colunas x e y gera-se uma matriz [x y] Ex.: [0:0.1:0.5]’ ; y = [x.*sin(x)]; [x y] ans = !0. 0.! ! .1 .0099833! ! .2 .0397339! ! .3 .0886561! ! .4 .1557673! ! .5 .2397128!
1.14 Manipulação de Linhas e Colunas de Matrizes
O SCILAB apresenta grande facilidade na manipulação de vetores e matrizes, como mostra os exemplos abaixo:
Sejam A e B matrizes quadradas de ordem 10, então: A(1:5,3) → Apresenta 5 elementos da 3ª coluna de A. A(:,3) → Apresenta a 3ª coluna de A. A(1:5,:) → Apresenta as 5 primeiras linhas de A. A(1:5,7:10) → Apresenta as 5 primeiras linhas e as 4 últimas colunas de A, ou seja, apresenta uma sub-matriz de A contendo os 4 últimos elementos de cada uma das 5 primeiras linhas.
A(:,[3 5 10])=B(:,1:3)→ Substitui a 3ª, 5ª e 10ª colunas de A pelas 3 primeiras colunas de B. b = A(:) → Coloca todos os elementos da matriz A em um vetor coluna. x = [ ] → Representa uma matriz vazia (dimensão zero). A(:,[2 4]) = [ ] → Apaga as colunas 2 e 4.( A = [ ] apaga toda matriz ). size(A) → Fornece a dimensão da matriz; Ex.: [m n] = size(A). A = [1 2 3; 4 5 6; 7 8 9;]; B = [A(:,1) A(:,3)] B = !1. 3.! !4. 6.! !7. 9.! A = [A;[10 11 12]] A= !1 2 3! !4 5 6! !7 8 9! !10 11 12!
1.15 Polinômios
x = poly(0, “x”) → Define x como variável. p = poly(v, “x”, “flag”) → Define p como um polinômio em x.
onde:
“flag” = “coeff” ou “roots” v é um vetor contendo os coeficientes ou as raízes do polinômio
1.17 Comandos para Controle de Fluxo
comando for
Ex.:
m=3; n=3; for i=1:m for j=1:n A(i,j)=1/(i+j-1); end end
comando while
Ex.:
n=1; while sqrt(n)< n=n+1; end
comando if
Ex.:
if n< a=-n; else a=n; end
1.18 Programando no SCILAB
O SCILAB possui uma linguagem própria de programação sendo os programas armazenados em arquivos .sci ou .sce. Os programas são escritos, utilizando um editor de textos ASCII qualquer, como, por exemplo, o bloco de notas. Nas versões mais recentes, o SCILAB traz seu próprio editor ASCII, o SciPad, basta clicar sobre a opção EDITOR, da barra de menu do SCILAB.
Ex.: Programa para traçar a curva do seno de a * t. plotseno.sci // Este programa traça o gráfico da função y = seno(at) // A variável a deve estar definida no espaço de trabalho t = [0:0.1:2%pi]; y = sin(at); plot(t,y, “t”, “y”, “Gráfico do Seno de a * t”)*
No ambiente SCILAB digitam-se os comandos:
1.19 Funções no SCILAB
O SCILAB dispõe de um grande número de funções, que nada mais são do que programas com entrada de dados via argumentos. Ex.: sin(x).
2.1 Introdução e Definições
Fases do processo de solução de um problema real:
Na passagem de cada fase para a fase seguinte é inevitável que erros sejam incorporados. Por exemplo, a transformação do problema real em um modelo matemático introduz erros devido à desconsideração de fenômenos com grau de incerteza elevado (resistência do ar, velocidade do vento).
Já nas transformações entre as etapas designadas por (b), (c), (d) e (e) existe um outro tipo de erro associado:
O erro numérico. Esse erro depende fundamentalmente do tipo de representação numérica, bem como do volume de cálculos efetuado.
O erro numérico pode ser formalmente definido como: Ev = Valor verdadeiro – Valor aproximado. Podendo ser classificado como:
Ex.: A avaliação de funções “implícitas” em computadores, tais como: exponencial, funções trigonométricas, etc., é realizada através do seu desenvolvimento em série de Taylor:
n!
f (x)^ h 3!
f (x)h 2!
f(x + h) = f(x) + f ′ (x)h + f ′′ (x)h^2 + ′′′^3 +L + (n)^ n
O arredondamento pode ser efetuado de duas formas: descarte, ou, assumindo o número significativo mais próximo.
A representação científica de um número é feita na forma:
x → m × b^ e onde: m? mantissa b? base e? expoente
Problema Real (^) MatemáticoModelo NuméricoModelo Algoritmo
Implementação Solução Computacional
2.2 Mudança de Base
a) 1110 =? 2
3 2 1 0 ⇒ 1110 = 10112 = 1 × 2 + 0 × 2 + 1 × 2 + 1 × 2
b) 0 , 6510 =? 2
⇒ 0 , 6510 = 0 , 101001 L 2
c) 11 , 2510 = 11 + 0 , 25
⇒ 0 , (^012)
10
3 2 1 0 1 2 2 8 0 2 1 0 0 , 25 11 , 25
2.3 Representação Numérica
Representação Geral: x d d dtt βe β β β
(^122)
onde:
t? nº de dígitos significativos e? expoente ; e^ i ≤e≤es
Ex1: Para β = 10
0 10 2 103 10
41 , 510 = 0 , 41510 × 102 = 10^^4 + 1012 + 1053 ⋅ 10
Ex2: A representação binária do decimal 5 é: 1012 = 1 × 22 + 0 × 21 + 1 × 20 = 510.
De acordo com a representação geral, tem-se: (^) 2 2 3 2 3 23 2
= × =^ + + , onde
o expoente 3 pode ainda ser escrito na forma binária: 310 = 112.
Exercício: Uma máquina de 16 bits possui β = 4 e t = 10. Determinar:
a) O maior número que pode ser representado na máquina; b) A sua precisão. c) Representar o número 15,25 nessa máquina. Solução:
16 bits t
⇒
Logo, como β = 4 ( β – 1 = 3), os valores máximo e mínimo para o expoente serão, respectivamente:
0 33 33 e 1 3 33 3
e, o maior número que pode ser representado nesta máquina é:
0 3 3 3 3 3 3 3 3 3 3 0 3 3 3 3
que equivale:
= ^ + + + + + + + + + e xmáx (^) 4 4
2 3 4 5 6 7 8 9 10
xmáx = [ 3 ⋅ 49 + 3 ⋅ 48 + 3 ⋅ 47 + 3 ⋅ 46 + 3 ⋅ 45 + 3 ⋅ 44 + 3 ⋅ 43 + 3 ⋅ 42 + 3 ⋅ 41 + 3 ⋅ 40 ] ⋅ 4 −^10 ⋅ 4 e ⇒
xmáx = [1.048.575 ] ⋅ 4 −^10 ⋅ 4 e ≈ 1 ⋅ 4 e ⇒ xmáx ≈ 4 e
onde: (^) ⋅ =[ (^) ⋅ + ⋅ + ⋅ + ⋅ ] (^) ⋅ ⋅ ⇒
e^3^ e =^255 ⋅^4 −^4 ⋅^44 =^255
logo: xmáx ≈^4255 =3,3520×^10153
A precisão da máquina em questão é dada por: 10 9,5367^10 -^7106 4
precisão ≤ 1 =^1 = × ≈ − βt
O número 15,25 é representado nessa máquina, por:
; e 0 ,^2510 0 ,^14 1,
logo: 15 ,^2510 =^33 ,^14 =(^0 ,^331 ×^42 ) 4 ≡ 0 3 3 1 0 0 0 0 0 0 0 0 0 0 0 2
3.1 Introdução
São inúmeros os problemas de engenharia que recaem na solução de um sistema de equações lineares.
3.2 Formulação
Forma geral:
n1 1 n2 2 nn n n
31 32 3n n 3
21 22 2n n 2
11 12 1n n 1
a x a x ... a x b
a x1 a x2 ... a x b
a x2 a x2 ... a x b
a x1 a x2 ... a x b
;
onde a e b são constantes e n é o número de equações.
Representação Matricial:
n n nn n n
n
n
b
b
b
x
x
x
a a a
a a a
a a a
2
1 2
1
1 2
21 22 2
11 12 1
; ou: Ax = b
3.3 Classificação dos Sistemas
Incompatível. Ex.:
4 x 2 x 18
2 x x 6 1 2
1 2
Compatível:
Homogêneo(b= 0)
Indeterminado-diversassoluções.
Determinado-soluçãoúnica
3.4 Métodos de Solução
Classificam-se, numericamente, em Diretos e Iterativos. Os métodos mais comuns são:
3.5.4 Triangulação
Ex.: (^) Ax b
x
x
x
x x x
x x x
x x x ⇔ =
−
=
−
−
−
⇔ − + =−
− =
− = . 1
3
5
2 3 1
4 4 3
2 3 1
2 3 1
4 4 3 3
2 3 5
3
2
1
1 2 3
1 2 3
1 2 3
Inicialmente, escreve-se a matriz aumentada do sistema (B = [A | b] ):
− −
−
2 3 1 1
4 4 3 3
2 3 1 5 B (^0 )
Tomando-se o elemento da diagonal principal, a 11 (^0 ), como pivô, encontra-se os multiplicadores para as linhas seguintes:
11 (^0 )
( 0 ) ( 310 ) 31
11 (^0 )
( 0 ) 21 (^0 )^21
=− =− = −
a
m a
a
m a
Em seguida, substituem-se as linhas originais pela seguinte combinação linear:
[ ] [ ] [ ] [ 2 3 1 5 ] [ 2 3 1 1 ]
4 6 2 10 4 4 3 3
2 3 1 5
( 31 ) ( 310 ) ( 10 ) ( 30 )
( 21 ) ( 210 ) ( 10 ) ( 20 )
( 11 ) 1 ( 0 )
− − − + − −
− − − + −
− ⇒
= +
= +
=
L m L L
L m L L
L L ⇒
− −
− − −
0 6 2 6
0 2 1 7
2 3 1 5 B (^1 )
Toma-se agora o elemento da diagonal principal, na linha seguinte, a ( 22^0 ), como pivô e encontra-se o multiplicador para as linhas que se sucedem a esta.
3 2
6 22 (^1 )
( 1 ) 32 (^1 ) (^32) − =− = − =−− a
m a
Em seguida, substituem-se as linhas originais pela seguinte combinação linear:
[ ] [ ] [ 0 6 3 21 ] [ 0 6 2 6 ]
0 2 1 7
2 3 1 5
( 32 ) 32 ( 1 ) ( 21 ) ( 31 )
( 22 ) ( 21 )
( 12 ) ( 11 )
− − −
− ⇒
= +
=
=
L m L L
L L
L L ⇒
− − −
0 0 5 15
0 2 1 7
2 3 1 5 B (^2 )
Segue-se este procedimento até que se chegue ao pivô da penúltima linha da matriz, obtendo-se assim uma matriz com apenas elementos nulos abaixo da diagonal principal. Uma vez obtida uma matriz nesta forma, procedendo-se uma substituição reversa obtêm-se a solução do sistema triangular superior, representado, neste exemplo, pela matriz aumentada B(2) :
3
2
1
3
2 3
1 2 3 ( 2 ) x
x
x
x
x x
x x x
É importante relembrar que, esta é também a solução do sistema original.
Uma forma prática e compacta de realizar a triangulação é através da construção de tabelas. Matriz B Linha Multiplicador Matriz A Vetor b
Transformação
2 3 1
−
−
−
− ( − 6 − 2 ) =− 3 0 6 2
1 3
1 2 1 L L
3.5.5 Técnicas para Aprimorar a Solução
Essas técnicas são úteis não apenas para o método de Gauss, mas também para métodos similares.
Obs.: Em alguns problemas é necessário um estudo de condicionamento da matriz e um processo de otimização da solução se faz necessário.
3.6 Método de Jordan
Dado um sistema, o Método de Jordan consiste em obter, através de transformações elementares, um sistema equivalente cuja matriz de coeficientes seja diagonal.
Ex.: Ax b x
x
x
x x x
x x x
x x x ⇔ =
3
2
1
1 2 3
1 2 3
1 2 3