Upload
carlos-pires
View
214
Download
0
Embed Size (px)
DESCRIPTION
Show.
Citation preview
Aula 02_____________________________________________________________________
Sistemas LinearesIntrodução
{x1 x 2 x3 = 1x1− x 2− x3 = 1
2x13x2−4x3 = 9
Exemplo 1 – Classificar os sistemas lineares a seguir:
a) {x1x2=1x1−x2=0 b) { x1 x2=1
2x14x2=2 c) {2x1− x2=14x1−2x2=5
Métodos Numéricos para resolução de Sistemas Lineares
Introdução
Definição 1: Dois sistemas lineares são equivalentes quando admitem a mesma solução.
Definição 2: Uma matriz triangular inferior é uma matriz quadrada C = (cij ) tal que cij = 0 para i < j.
Do mesmo modo, se cij = 0 para i > j, então C é uma matriz triangular superior.
Definição 3: Uma matriz A, n x n, é positiva definida se xTAx > 0 para todo x n, x 0.
Teorema 1: Seja Ax = b um sistema linear. Aplicando sobre as equações deste sistema uma
sequência de operações elementares escolhidas entre:
i) trocar duas equações;
ii) multiplicar uma equação por uma constante não nula;
iii) adicionar um múltiplo de uma equação a uma outra equação;
obtemos um novo sistema A'x=b'. Os sistemas Ax = b e A'x=b' são equivalentes.
Métodos Exatos
Sistemas Triangulares
Exemplo: Resolva os sistemas triangulares a seguir.
1) {2x1−x2 x3=2
x 22x3=3x 3=1
2) {x1 =12x1−x2 =12x1−3x2x3=0
Algoritmo Computacional – Conceitos Básicos
Um algoritmo computacional é uma sequência de passos que conduzem a resolução de um
problema em um computador. Os passos ou instruções lógicas são traduzidos em alguma
linguagem de programação.
As representações de um algoritmo podem ser:
● linguagem natural
● fluxograma
● pseudo-linguagem
Exemplos de linguagens de programação:
● Pascal
● C
● FORTRAN
● Java
● MATLAB
O MATLAB é uma linguagem de programação interpretada desenvolvida no início da década de 80
no Departamento de Ciência da Computação da Universidade do Novo México, EUA. Dentre suas
vantagens tem-se:
● oferece recursos de programação similares aos de outras linguagens
● ambiente interativo para computação envolvendo matrizes
● interface gráfica com o usuário
O Octave é uma linguagem de programação interpretada similar ao MATLAB. Possui interface em
linha de comando para a solução de problemas. Suas maiores vantagens são:
● software livre
● possui um grande número de funções semelhantes as funções do MATLAB
Pseudo-linguagem
● sintaxe mais flexível que a de uma linguagem de programação real
(o foco é dado nos passos do algoritmo e não na maneira como eles são escritos)
● ênfase nas ideias
● a partir de um algoritmo escrito em pseudo-linguagem estruturada adequadamente é
possível escrever um programa em qualquer linguagem de programação
A seguir vamos definir a sintaxe (como escrever os comandos e seus componentes) e semântica
(significado de cada comando e conceito) básica da pseudo-linguagem que será adotada no curso
de Cálculo Numérico:
1) Os tipos básicos de dados são:
● inteiro (toda e qualquer informação numérica que pertence ao conjunto dos números
inteiros)
● real (toda e qualquer informação numérica que pertence ao conjunto dos números reais)
● caracter (toda e qualquer informação composta por um único caracter numérico,
alfanumérico ou especial)
● string (toda e qualquer informação composta por um conjunto de caracteres numéricos,
alfanuméricos ou especiais)
● lógico (toda e qualquer informação que pode assumir apenas os valores verdadeiro ou falso)
2) Variáveis:
● uma variável é um endereço da memória de acesso randômico (RAM) representada por um
nome e pela especificação do tipo de dado que ali será armazenado
● o primeiro caracter do nome da variável deve ser uma letra seguida (ou não) de mais
caracteres alfanuméricos ou numéricos
● não pode haver espaços em branco entre os caracteres
● não devem ser usados caracteres especiais (#,$,%,&,*,@)
● os nomes não podem ser os mesmos das palavras reservadas da linguagem de programação
● os nomes devem ser explicativos
● se a variável é uma constante então o seu conteúdo não sofre alteração durante toda a
execução do programa
3) Comandos
● Comando de Declaração
● cria uma variável ou constantes
● a declaração de variáveis na pseudo-linguagem adotada será realizada no preâmbulo
dos algoritmos quando necessário
● Comando de Atribuição
● comando que indica o que a variável vai receber em seu conteúdo
● o comando de atribuição utilizado na pseudo-linguagem adotada será o sinal de igual
'='
● Comando de Entrada e Saída
● comandos de entrada permitem que dados sejam inseridos no algoritmo
● comandos de saída permitem que dados sejam passados do algoritmo para outros
dispositivos
● o comando de entrada utilizado na pseudo-linguagem adotada será a palavra 'leia'
● o comando de saída utilizado na pseudo-linguagem adotada será a palavra 'retorne'
4) Bloco de Execução
● o bloco de execução é um conjunto de ações que possui uma função bem definida
● em um bloco sequencial os comandos são executados em sequência, um a um
5) Controle de Fluxo
● o controle de fluxo é um conjunto de comandos que serão executados em um bloco
● os principais comandos de fluxo são:
● Para
● Enquanto
● Repita ... até que
● Se - Senão
Observação:
Os operadores aritméticos representados por símbolos serão:
● adição: +
● subtração: -
● multiplicação: *
● divisão: /
● igualdade: ==
● desigualdade: > (maior), >= (maior ou igual), < (menor), <= (menor ou igual)
● diferença:
● os demais serão escritos em palavras
Exemplos
1 – Escreva um algoritmo que atribua os valores 10,5 para x e 5,5 para y e calcule a soma entre x e y.
Algoritmo 1
x = 10,5
y = 5,5
Faça soma = x + y
Retorne soma
2 – Escreva uma algoritmo que calcule o somatório ∑i=1
10
xi
Algoritmo 2
Dado x 10
soma = 0
Para i = 1, ..., 10
soma = soma + xi
Fim-Para
Retorne soma
_______________________________________________________
Lista de Exercícios 2
1 – Escreva um algoritmo que resolva um sistema triangular inferior de n equações e n incógnitas.
2 – Escreva um algoritmo que resolva um sistema triangular superior de n equações e n incógnitas.