Você está na página 1de 94

Métodos Numéricos

100594 - Métodos Numéricos


Professor: Leonardo D. Chiwiacowsky – PIPCA/UNISINOS
E-mail: ldchiwiacowsky@unisinos.br
Local: 6H104E
Solução de Equações Não-Lineares
• O problema de determinar a solução de uma
equação, rotineiramente aparece em diversas
áreas da ciência e engenharia;
• Uma equação de uma única variável pode ser
escrita na forma f(x) = 0;
• A solução dessa equação, chamada raiz ou
zero, é um valor numérico de x* que satisfaz à
equação;
• Graficamente, a solução é o ponto onde a
função f(x) cruza ou toca o eixo X;
Solução de Equações Não-Lineares
• Uma equação pode não ter solução ou ter uma
ou várias raízes;

• Quando a equação é simples, o valor de x*


pode ser determinado analiticamente, entretanto
em muitas situações tal tarefa é impossível de
ser realizada, sendo necessário o uso de técnicas
numéricas para determinação da raiz;
Solução de Equações Não-Lineares
• Em geral, a aplicação de técnicas numéricas
para solução de equações não-lineares pode ser
dividida em duas fases distintas:
1. Fase I: localização ou isolamento das
raízes, que consiste em obter um intervalo
que contém a raiz;
2. Fase II: refinamento, que consiste em,
escolhida a aproximação inicial pertencente
ao intervalo encontrado na Fase I,
melhorá-la sucessivamente até ser obtida
uma aproximação para a raiz dentro de
uma precisão pré-fixada.
Fase I: Isolamento das Raízes
• Nesta fase é feita uma análise teórica e gráfica
da função f(x). É importante ressaltar que o
sucesso da Fase II depende fortemente da
precisão desta análise;
• Na análise teórica, levamos em consideração o
fato de que se f(x) é uma função contínua em um
intervalo [a, b] e se f(a)f(b) < 0, então existe
pelo menos um ponto x = x* entre a e b que é
raiz de f(x);
Fase I: Isolamento das Raízes
• Uma forma de se isolar as raízes de f(x) usando
a propriedade anterior, é tabelar o valor da
função para vários valores de x e analisar as
mudanças de sinal.
Exemplo: f(x) = x3 – 9x + 3
Construindo uma tabela de valores para f(x) e
considerando apenas os sinais, temos:

x -10 -5 -3 -1 0 1 2 3 4 5
f(x) – – + + + – – + + +
Fase I: Isolamento das Raízes
Exemplo: f(x) = x3 – 9x + 3

x -10 -5 -3 -1 0 1 2 3 4 5
f(x) – – + + + – – + + +

Sabendo que f(x) é contínua para qualquer x real


e observando as variações de sinal, podemos
concluir que cada um dos intervalos I1=[-5, -3],
I2=[0, 1] e I3=[2, 3] contém pelo menos uma
raiz de f(x). Como f(x) é um polinômio de grau 3,
podemos afirmar que cada intervalo contém um
único zero.
Fase I: Isolamento das Raízes
• Outra estratégia utilizada na determinação do
intervalo de localização das raízes de uma
função, é o emprego da análise gráfica;
• Conhecendo o gráfico de uma função f(x), os
intervalos de localização de suas raízes podem
ser determinados por inspeção visual;
• O Matlab é uma ferramenta que permite a
realização desta tarefa de forma simples.
Gráficos
• Os comandos utilizado para fazer gráficos
bidimensionais no Matlab são:
• plot;
• ezplot.
• O comando plot tem a seguinte forma:
plot(x,y,S), onde (x,y) é um conjunto
de dados e S uma seqüência de caracteres
que especifica cor, marcadores e estilos de
linha;
Gráficos
• Experimente:
>> x=linspace(0,2*pi,30);y=sin(x);
>> plot(x,y,’b*-’)
>> grid
Gráficos
• A seqüência de caracteres que contém a
formatação da linha, dos marcadores e das
cores usadas nos gráficos podem conter os
seguintes símbolos:
Gráficos
• O comando ezplot é o comando simples de
construção de gráficos que necessita apenas da
definição da função que se deseja construir o
gráfico. Pode também ser especificado o intervalo
da variável independente, porém é opcional;
• Experimente:
>> ezplot(‘sin(x)’)
>> grid
>> figure
>> ezplot(‘sin(x)’,[0,2*pi])
>> grid
Gráficos
Exercício: Identifique, graficamente, o intervalo de
localização das raízes das funções abaixo:
a) f(x) = x3 – 9x + 3
b) f(x) = x1/2 – 5e-x
c) f(x) = 8 – 4,5[x – sen(x)]
d) f(x) = 1 + ln(x)
e) f(x) = x/2 +x4 - 1
Fase II: Refinamento
• Existem diferentes técnicas utilizadas para o
refinamento da busca pela raiz de uma
equação não-linear;
• Em geral, estes métodos pertencem à
classe dos métodos iterativos (repetitivos);
• Um método iterativo consiste em uma
seqüência de instruções que são executadas
passo a passo, algumas das quais repetidas
em ciclos;
• A execução de um ciclo recebe o nome de
iteração, onde cada nova iteração utiliza
resultados das iterações anteriores;
Fase II: Refinamento
• Observa-se que os métodos iterativos
fornecem apenas uma aproximação para a
solução exata;
• Entretanto, esta aproximação pode ser tão
precisa quanto se deseja, bastando para
isso determinar o número de iterações
(ciclos) a serem efetuados;
• O número de iterações a serem executadas
é determinado de acordo com o critério de
parada adotado;
• O critério de parada normalmente está
baseado no cálculo do erro de estimação.
Método de Newton-Raphson
• Também chamado de Método de Newton, é um
método utilizado para a obtenção de raízes de
funções contínuas e diferenciáveis;
• Ele pode ser deduzido da sua interpretação
geométrica:
dado um ponto (xk, f(xk)),
a aproximação seguinte
é determinada a partir
da reta tangente
passando por este
ponto.
Método de Newton-Raphson
• Sabendo que a expansão em série de Taylor de
f(x) em torno de xk é dada por:

• Se xk+1 é uma solução da equação f(x) = 0 e xk é


um ponto próximo a este ponto, então:
Método de Newton-Raphson
• Considerando apenas os dois primeiros termos
da série, temos:

• Resolvendo a equação anterior para x* temos:

• Esta expressão pode ser generalizada para que a


próxima solução xk+1 seja obtida a partir da
solução atual xk:
Algoritmo
• Passo 1: escolha um ponto x1 como tentativa
inicial de solução;
• Passo 2: Para k = 1, 2,..., calcule xk+1 até que
um critério de parada seja satisfeito, usando
a equação
Critério de Parada
• O critério de parada a ser utilizado deve
garantir que a aproximação xk esteja
suficientemente próxima da raiz exata x*;
• Basicamente são utilizados quatro critérios
de parada:
1. Número máximo de ciclos de repetição,
ou número máximo de iterações;
2. Número de algarismos significativos
exatos (ASE): representado pelo
número de algarismos significativos
idênticos entre duas aproximações
sucessivas.
Critério de Parada
2. Exemplo:
a) dadas duas aproximações sucessiva
xk = 2,345678 e xk+1 = 2,345019
podemos afirmar que a aproximação xk
apresenta 4 ASE.
b) dadas duas aproximações sucessivas
xk = 0,03425 e xk+1 = 0,03416
podemos afirmar que a aproximação xk
apresenta 2 ASE.
Critério de Parada
3. Erro de Estimação < 1, onde este erro
pode ser o erro total, o erro relativo ou o
erro relativo percentual de estimação,
calculados conforme visto anteriormente;
4. Tolerância em f(xk) < 2, que pode também
ser expressa na forma |f(xk)| < 2;

Os números 1 e 2 são valores pequenos


pré-definidos.
Método de Newton-Raphson
Exemplo 1: Determine, pelo método de Newton-
Raphson, as quatro primeiras aproximações da
menor raiz de f(x) = xe-x - 0,2. Apresente os
resultados com quatro algarismos significativos.

Solução:
Passo 1: Identificação do intervalo de localização
da raiz e determinação da aproximação inicial x1.
Com o comando ezplot(‘x*exp(-x)–0.2’,[-
2,5]), por inspeção visual, identificamos que a
raiz x*  [0, 1], podendo ser assumida a
aproximação inicial x1 = 0.
Método de Newton-Raphson
Exemplo 1 – Solução:
Passo 2: Devemos montar a expressão para o
cálculo das sucessivas aproximações. Para tanto
devemos obter f’(x) = e-x(1 - x). Com isso:

Processo iterativo:
k=1:
Método de Newton-Raphson
Exemplo 1 – Solução:
Processo iterativo:
k=2:
Método de Newton-Raphson
Exemplo 1 – Solução:
Processo iterativo:
k=3:
Método de Newton-Raphson
Exemplo 2: Determine a raiz negativa da função
f(x) = x3 – 9x + 3, utilizando o Método de Newton,
com erro relativo de estimação menor que 10-3.
Apresente os resultados com seis algarismos
significativos.
Solução:
Passo 1: Identificação do intervalo de localização
da raiz negativa e determinação da aproximação
inicial x1.
Identificamos que a raiz x*  [-4, -3], podendo
ser assumida a aproximação inicial x1 = -3.
Método de Newton-Raphson
Exemplo 2 – Solução:
Passo 2: Para aplicação do método, devemos
calcular f’(x) = 3x2 - 9. Com isso:

Processo iterativo:
k=1:
Método de Newton-Raphson
Exemplo 2 – Solução:
Processo iterativo:
k=1: Cálculo do erro relativo de estimação

10-3

Condição de parada ainda não foi satisfeita.


Devemos calcular uma nova aproximação.
Método de Newton-Raphson
Exemplo 2 – Solução:
Processo iterativo:
k=2:
Método de Newton-Raphson
Exemplo 2 – Solução:
Processo iterativo:
k=2: Cálculo do erro relativo de estimação

Condição de parada ainda não foi satisfeita.


Devemos calcular uma nova aproximação.
Método de Newton-Raphson
Exemplo 2 – Solução:
Processo iterativo:
k=3:
Método de Newton-Raphson
Exemplo 2 – Solução:
Processo iterativo:
k=3: Cálculo do erro relativo de estimação

Como a aproximação x4 satisfaz a condição de


parada, o processo iterativo é encerrado e a
solução obtida pelo método de Newton é dada
pela última aproximação calculada.
Método de Newton-Raphson
Exemplo 2 – Solução:
O Matlab disponibiliza diferentes funções para o
cálculo de raízes de equações não-lineares. Uma
delas é a função fzero.
Verifique o seu funcionamento, através do
comando help fzero, e compare o valor
retornado com aquele obtido pelo método de
Newton, para o exemplo em questão.

fzero(‘x^3-9*x+3’,-3) = ???
Método de Newton-Raphson
Exercício: Determine o ângulo  de modo que a
área do segmento As de um círculo de raio r=3 cm
seja As=8 cm2, sabendo que:

Obtenha as sucessivas aproximações pelo Método


de Newton, até que seja obtida uma tolerância em
f(x) menor que 5 ×10-3. R: 2,43099
Método de Newton-Raphson
• Algumas observações sobre o Método de
Newton:
- O método de Newton, quando bem
sucedido, converge rapidademente;
- A não convergência, usualmente,
acontece devido ao ponto de partida
(Fase I) não estar suficientemente
próximo da solução;
- Problemas de convergência acontecem
tipicamente quando o valor de f’(x) é
próximo de zero na vizinhança da
solução;
Método de Newton-Raphson
• Outras situações em que o método de
Newton não converge são ilustradas abaixo:
Arquivos de Instrução
• Até o momento temos efetuado todos os
cálculos diretamente na Janela de Comando
do Matlab;
• Entretanto, seqüências de comandos podem
ser armazenadas em arquivos e executadas
no espaço de trabalho do Matlab;
• Para isso basta que o arquivo seja salvo
com a extensão "m";
Arquivos de Instrução
• A seqüência de comandos dos exemplos
vistos até aqui poderiam ser salvos em um
arquivo;
• Para criar um
arquivo M, no
menu principal
selecione
FileNew e em
seguida M-file.
Arquivos de Instrução
• Digite a seqüência de comandos na janela:
close all
clear all
clc
x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,'b:p')
hold on
plot(x,z,'r+-')
grid on
legend('sen(x)','cos(x)')
Arquivos de Instrução
• Uma vez digitada a seqüência de comandos,
devemos salvar o arquivo para o seu uso;
• No menu principal da janela do editor,
execute o caminho FileSave, fornecendo
o nome exemplo.m (atenção ao nome
escolhido para o arquivo!).
• Para executá-lo, temos duas opções:
1.digitar o nome do arquivo (exemplo)
diretamente na Janela de Comando;
2.usar a tecla de atalho Run diretamente do
editor.
Arquivos de Instrução
• O Matlab apresenta diversos comandos de
gerenciamento de arquivos:
• what: retorna uma listagem de todos os
arquivos M do diretório atual;
• dir ou ls: lista todos os arquivos do
diretório atual;
• type exemplo: mostra o arquivo exemplo.m
na janela de comandos;
• delete exemplo: exclui o arquivo
exemplo.m;
• cd caminho: muda para o diretório dado
por ‘caminho’.
Arquivos de Instrução
• Os exemplos que vimos até o momento são
chamados de scripts;
• Existem também aquelas seqüências de
instruções denominadas functions ou
simplesmente funções;
• Elas são caracterizadas pela presença de
variáveis de entrada e/ou saída;
Controle de Fluxo
• O controle de fluxo num programa escrito
no Matlab é bem similar àquele usado em
outras linguagens de programação;
• O Matlab disponbiliza quatro opções:
1. estruturas if-else-end;
2. laços for;
3. laços while;
4. estruturas switch-case.
Controle de Fluxo
Estrutura if-else-end:
• Utilizada quando existe uma ou mais
alternativas de execução. Em geral está
baseada em um teste condicional;
• O Matlab apresenta os seguintes
operadores relacionais:
Controle de Fluxo
Estrutura if-else-end:
• Faça o teste!
a=input('Entre com o valor de a : ');
if a > 0
b = log(a)
else
b = exp(a)
end
Controle de Fluxo
• Faça o teste!
a=input('Entre com o valor de a : ');
if a <= -10
b = exp(a)
elseif a < 0
b = 1/a
elseif a <= 10
b = a^2
elseif a < 100
b = sqrt(a)
else
b = 10
end
Controle de Fluxo
Laços for:
• O comando for faz com que uma
sequência de comandos seja repetida por
um número fixo de vezes, predefinido;
• Forma geral de uso:

for cont = ini:fim


sequência de comandos
end
Controle de Fluxo
Laços for - Exemplo:
Calcule e apresente o quadrado dos dez
primeiros inteiros:

for cont = 1:10


disp(cont*cont)
end
Controle de Fluxo
Laços for - Exemplo:
Calcule uma aproximação para o valor de ,
usando a expansão em série abaixo, com
n=10, n=20 e n=40, e calcule o erro relativo
correspondente de cada aproximação:
Controle de Fluxo
Exemplo:
close all
clear all
clc
n=10;
soma=0;
for i=1:n
soma=soma+(-1)^(i-1)/(2*i-1);
end
soma=4*soma;
ER=abs((pi-soma)/pi)
Controle de Fluxo
Laços while:
• Executa um grupo de comandos um
número indefinido de vezes.
• Forma geral de uso:

while (condição)
sequência de comandos
end
Controle de Fluxo
Laços while - Exemplo:
Calcule e apresente o quadrado dos dez
primeiros inteiros:

cont=1;
while (cont <= 10)
disp(cont*cont)
cont=cont+1;
end
Controle de Fluxo
Laços while - Exemplo:
Com base na expressão em série que calcula
o valor de , determine quantos termos são
necessários para obtermos uma aproximação
de forma que o ER=10-1, ER=10-3 e ER=10-6:
Controle de Fluxo
Exemplo:
close all
clear all
clc
tol=1e-1;
soma=0;
n=1;
ER=1000; %condição imposta para entrada no laço
while (ER > tol)
----
----
Controle de Fluxo
Exemplo:
----
----
while (ER > tol)
soma=soma+4*(-1)^(n-1)/(2*n-1);
n=n+1;
ER=abs((pi-soma)/pi);
end
n-1
Controle de Fluxo
• O Matlab também disponibilizada alguns
operadores lógicos básicos;
• Eles permitem a combinação ou negação
das relações lógicas;
• Os operadores lógicos no Matlab são assim
definidos:
Controle de Fluxo
• Experimente:
>> x=randn(1,7)
>> ind1 = (x < -0.2)|(x >= 1)
>> y=x(ind1)
>> ind2 = (x > -0.2)&(x <= 1)
>> z=x(ind2)
Método de Newton-Raphson
• Algoritmo: Seja a equação f(x) = 0
1. Dados iniciais:
a) xold=x1: aproximação inicial
b) 1 e 2 : precisões
2. Se |f(xold)| < 2, faça xsol = xold. FIM.
3. k = 1
4. xnew = xold – f(xold)/f’(xold)
5. Se |(xnew – xold)/xold| < 1 ou se |f(xnew)| < 2, faça xsol = xnew.
FIM.
6. xold = xnew
7. k = k+1 e volte ao passo 4.
Método de Newton-Raphson
• O programa em Matlab, que implementa o
algoritmo, pode ser encontrado na
Pastanet;
• Este programa pode ser empregado para
diferentes condições de parada, devendo
necessariamente ser adaptado para o caso
desejado;
• Além da adaptação à condição de parada
desejada, o programa também deve ser
adaptado para a função que deseja-se
resolver.
Método de Newton-Raphson
Exercícios: Calcule pelo Método de Newton-
Raphson uma estimativa para a raiz das
equações abaixo, utilizando como critério de
parada o número de algarismos significativos
exatos (ASE) igual a quatro ou o ERS < 10-3,
o primeiro que acontecer:
1) f(x) = x3 – 9x + 3 (raiz negativa)
2) f(x) = xe-x - 0,2 (menor raiz)
3) f(x) = 8 – 4,5[x – sen(x)]
Método do Ponto Fixo
• Também denominado Método da Iteração
Linear, o Método do Ponto Fixo é utilizado
para solução de equações na forma f(x)=0;
• O método é aplicado reescrevendo a
equação original em uma forma equivalente
x = g(x);
• Desta forma, quando x é solução de f(x)=0,
o lado esquerdo e o lado direito da equação
equivalente são iguais;
Método do Ponto Fixo
• Tal característica pode ser ilustrada com o
traçado das funções y = x e y = g(x):

• O ponto de
interseção entre
os dois gráficos
é chamado de
ponto fixo,
representando a
solução da
equação;
Método do Ponto Fixo
• O valor numérico da solução é determinado
por meio de um processo iterativo;
• Tal processo inicia com a escolha de um
valor de x próximo ao ponto fixo;
• Esse valor é a primeira aproximação para a
solução e é substituído em g(x);
• Os valores obtidos são então substituídos,
sucessivamente, em g(x) para que novas
estimativas da solução sejam calculadas;
Método do Ponto Fixo
• Com isso, a fórmula iterativa utilizada para
o cálculo das sucessivas aproximações
(estimativas) é dada por:
xk+1 = g(xk),
onde g(x) é chamada função de iteração.
Exemplo: Calcule as diferentes funções de
iteração para a equação x2 + x – 6 = 0:
Método do Ponto Fixo
• Com isso, a fórmula iterativa utilizada para
o cálculo das sucessivas aproximações
(estimativas) é dada por:
xk+1 = g(xk),
onde g(x) é chamada função de iteração.
Exemplo: Calcule as diferentes funções de
iteração para a equação x2 + x – 6 = 0:
a) c)

b) d)
Método do Ponto Fixo
• Quando o método é executado, os valores de x
obtidos são iterações sucessivas que
convergem progressivamente em direção à
solução;
• Duas situações podem ser ilustradas:
Método do Ponto Fixo
• No entanto, é possível que as iterações não
convirjam para o ponto fixo, mas, ao
contrário, divirjam, mesmo que o ponto de
partida esteja próximo:
Método do Ponto Fixo
Exemplo: considerando a equação x2 + x - 6=0,
calcule a sua maior raiz considerando as
seguintes funções de iteração:
a) g(x) = 6 – x2;
Podemos verificar
que xk não está
convergindo para
a raiz procurada
x*=2.
Método do Ponto Fixo
Exemplo:
b) g(x) = (6 – x)1/2;

Podemos verificar
que xk está
convergindo para
a raiz procurada
x*=2.
Método do Ponto Fixo
• Observamos que dependendo da escolha da
forma da função de iteração o processo
iterativo pode convergir ou não;
• Pode haver mais de uma forma possível da
função de iteração na qual o processo
iterativo converge para a solução;
• Por outro lado, pode não existir nenhuma
forma que leve à convergência;
• Neste caso, o método do ponto fixo não
pode ser empregado para a solução da
equação;
Método do Ponto Fixo
• Em casos onde há múltiplas funções de
iteração, uma dada função de iteração pode
levar a uma raiz, enquanto uma diferente
função pode levar a outras raízes;
• Existe um teorema que permite determinar,
antecipadamente, se uma função de
iteração específica g(x) convergirá;
Método do Ponto Fixo
Teorema:
• Seja x* uma raiz de f(x) = 0, isolada num
intervalo I, centrado em x*.
• Seja g(x) uma função de iteração para a
equação f(x) = 0.
• O processo iterativo convergirá se:
1. g(x) e g’(x) forem contínuas em I;
2. |g’(x)| < 1,  x  I;
3. x1  I.
• Tais condições serão avaliadas através do uso
do Matlab.
Método do Ponto Fixo
Exemplo: considerando a equação x2 + x - 6=0,
verifique se as seguintes funções de iteração
atendem às condições exigidas para
convergência:
a) g(x) = 6 – x2;
b) g(x) = (6 – x)1/2.
Método do Ponto Fixo
Exemplo: Considerando o intervalo de
localização da maior raiz da equação I=[1, 3],
temos:
a) g(x) = 6 – x2;
Análise das condições de convergência:
1) Através dos comandos ezplot(‘6-x^2’) e
ezplot(‘-2x’), observa-se que g(x) e g’(x) são
contínuas em I; OK!
2) Através do comando ezplot(‘abs(-2*x)’),
observa-se que |g’(x)| > 1 para  x  I; Não está OK!
3) x1  I. OK!
Método do Ponto Fixo
Exemplo: Considerando o intervalo de
localização da maior raiz da equação I=[1, 3],
temos:
a) g(x) = 6 – x2  Não satisfaz o teorema da convergência
Análise das condições de convergência:
1) Através dos comandos ezplot(‘6-x^2’) e
ezplot(‘-2x’), observa-se que g(x) e g’(x) são
contínuas em I; OK!
2) Através do comando ezplot(‘abs(-2*x)’),
observa-se que |g’(x)| > 1 para  x  I; Não está OK!
3) x1  I. OK!
Método do Ponto Fixo
Exemplo: Considerando o intervalo de
localização da maior raiz da equação I=[1, 3],
temos:
b) g(x) = (6 – x)1/2;

Análise das condições de convergência:


1) Através dos comandos ezplot(‘sqrt(6-x)’) e
ezplot(‘-1/(2*sqrt(6-x))’), observa-se que
g(x) e g’(x) são contínuas em I; OK!
Método do Ponto Fixo
Exemplo:
2) Através do comando
ezplot(‘abs(-1/(2*sqrt(6-x)))’), observa-se
que |g’(x)| < 1 para  x  I; OK!
3) x1  I. OK!

Desta forma verificamos que a função de iteração


g(x)=(6 – x)1/2 satisfaz o teorema da convergência.
MPF - Programa
• O programa para aplicação do Método do
Ponto Fixo é quase idêntico ao do Método de
Newton-Raphson;
• A principal modificação é feita na fórmula de
recorrência, que agora é definida em termos
da função de iteração;
Método do Ponto Fixo
Exercício: Calcule pelo Método do Ponto Fixo
uma estimativa para a raiz das equações
abaixo, utilizando como critério de parada o
número de algarismos significativos exatos
(ASE) igual a quatro ou o ERS < 10-3, o
primeiro que acontecer:
1) f(x) = x3 – 9x + 3 (menor raiz)
2) f(x) = xe-x - 0,2 (menor raiz)
3) f(x) = 8 – 4,5[x – sen(x)]
Material Extra
Matlab
Matlab - Vetores
• Um vetor no Matlab pode ser uma matriz
linha (vetor linha) ou uma matriz coluna
(vetor coluna);
• Um vetor linha pode ser definido separando
os valores entre colchetes por espaços ou
vírgulas;
• A separação dos valores por ‘;’ produz um
vetor coluna. Verifique!
>> pares = [2 4 6 8 10]
>> primos = [2; 3; 5; 7; 11]
Vetores
• Os vetores anteriores tiveram seus valores
definidos um a um;
• No entanto vetores podem ser construídos
especificando-se valores iniciais, valores
finais e incrementos:
>> a=1:5, b=1:2:9 %2 comandos 1 linha!
a =
1 2 3 4 5
b =
1 3 5 7 9
Vetores
• Os valores de um vetor linha ou coluna
podem ser acessados usando-se índices
que identificam a posição do elemento no
vetor. Experimente:
>> x = pares(3)
>> y = primos(4)

• Intervalos de valores podem ser


selecionados dentro de um vetor, calcule:
>> impares1 = primos(2:5)
>> impares2 = primos(2:4)
Vetores
• O comando linspace(i,f,n) fornece um
vetor linha de n elementos entre os valores i
e f;
• O vetor a do exemplo anterior pode ser
redefinido da seguinte forma:
>> a=linspace(1,5,5)
a =
1 2 3 4 5
• Como seria o comando para criar o vetor b
utilizando a função linspace?
Vetores
• Um comando sem o último argumento
definido, fornece como padrão um vetor de
100 elementos. Verifique a diferença entre
>> linspace(1,10,10)
>> linspace(1,10)

• O tamanho de um vetor pode ser verificado


com o comando length:
>> b=linspace(1,5);
>> length(b)
Operação com Vetores
Exercício: Crie os vetores u = [-1 2 3] e
v = [6 -10 0] e calcule:
>> u + v
>> u – v
>> u*v
>> u’*v
>> u*v’
>> u.*v %operação elemento-a-elemento
>> u./v %operação elemento-a-elemento
>> u.\v %operação elemento-a-elemento
Gráficos
• Por exemplo:
>> plot(x,y,'bp:',x,z,'r+-'),grid on
>> legend('sen(x)','cos(x)')
• A legenda pode
ser movida com o
mouse.
Gráficos
• Um novo comando gráfico, por padrão, tem a
sua saída direcionada para a janela já aberta,
eliminando o antigo gráfico e desenhando o
novo;
• Para que os gráficos anteriores sejam
mantidos faz-se uso do comando hold on;
• Experimente:
>> hold on
>> plot(x,sin(x-pi/2),'kd-')
>> legend('sen(x)','cos(x)','sen(x-pi/2)')
Gráficos
• A faixa de visualização do gráfico também
pode ser definida através do uso do mouse;
• Os comandos title, xlabel e ylabel
especificam títulos ao gráfico, eixo x e eixo y,
respectivamente. Experimente:
>> title('Funções Trigonométricas')
>> xlabel('Variável x')
>> ylabel('Variável y')
Gráficos
• Tais comandos resultam no gráfico abaixo:
Gráficos
• Para que a figura seja mantida e a saída
dos comandos gráficos seja direcionada
para outra janela, utiliza-se o comando
figure;
• Tendo várias figuras abertas, a saída dos
comandos gráficos é especificada fazendo-
se figure(n), onde n é o número da figura
para a qual os comandos digitados devem
ser direcionados.
Gráficos
• Experimente a seqüência de comandos:
>> figure(1)
>> plot(x,y,'k.-')
>> figure(2)
>> plot(x,y,'r*:')
>> figure(3)
>> plot(x,sin(x-pi/2),'b+-.')

Você também pode gostar