Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Método da Bissecção, Notas de estudo de Engenharia Elétrica

algortimo numerico matlab Método da Bissecção

Tipologia: Notas de estudo

2011

Compartilhado em 02/04/2011

alessandro-gois-souza-3
alessandro-gois-souza-3 🇧🇷

4.4

(9)

15 documentos

1 / 3

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Método da Bissecção
Alessandro Gois Souza e Keilly Oliveira Silva
Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia e Física - DENFI
Curso de Bacharelado em Engenharia Elétrica - 4oPeríodo - Matrícula: 200711809 200711773 - Disciplina de Cálculo Numérico
Resumo—Esse relatório é baseado em um método numérico
para se calcular as raízes de uma equação polinomial, que
consiste em encontrar, não o intervalo que se encontram
as raízes, mas também uma aproximação, de acordo com a
necessidade.
Index Terms—raízes, bissecção, aproximação, etc...
I. IN TRO DUÇ ÃO
Seja f(x) uma função contínua no intervalo [a,b] e f(a).f(b)<0.
Dividindo-se o intervalo [a,b] ao meio, obtém-se x0, havendo,
pois, dois subintervalos, [a,x0] e [x0,b], a ser considerados.
Se f(x0)=0, então, ξ=x0; caso contrário, a raiz estará no
subintervalo onde a função tem sinais opostos nos pontos
extremos, ou seja, se f(a).f(x0)<0, então, ξ(a,x0); senão
f(a).f(x0)>0 e ξ(x0,b).
O novo intervalo [a1,b1] que contém ξé dividido a meio e
obtém-se o ponto x1. O processo se repete até que se obtenha
uma aproximação para a raiz exata ξ, com a tolerância desejada.
II. O BJE TIV OS
Objetivos Gerais
Tem-se como intuito a busca de uma valor mais aproximado
para raízes de equações. Ou seja, a partir dos intervalos
encontrados pelo método do isolamento, obter um valor mais
próximo dos zeros da função trabalhada.
Objetivos Específicos
Tem-se como objetivo específico encontrar um valor bem
aproximado das raízes da seguinte equação polinomial:
p=x39x+ 3 (1)
III. MATERIAIS E MÉTOD OS
Materiais
Foi necessário fazer uso de um notebook, com a seguinte
configuração:
Processador Pentium Dual-core
Memória: 2 GB RAM
HD: 160 GB SATA
E ainda:
Software Matlab 7.0
Software TexnicCenter
Métodos
No matlab, criou-se o seguinte programa, com a finalidade de
se calcular as raízes do polinômio desejado:
%%%Dados iniciais%%%
a=2;
b=3;
A(1)=a;
B(1)=b;
f=inline(’x^3-9*x+3’)
%%%condição de execução%%%
if f(a)*f(b)>0
Erro (’A função não muda de sinal’)
break
end
%%%execução%%%
precisao=10^(-3)
Interacoes=norm((log(b-a)-log(precisao))/log(2))
%%%looping%%%
for i=1:Interacoes
%comando%
X(i)=((A(i)+B(i))/2);
Y(i)=f(X(i));
%condição dos intervalos%
if(X(i)-A(i))<precisao
disp (’Houve convergência’)
%Se houve convergência o sistema para%
end
if Y(i)==0
disp(’Foi encontrada uma raiz exata’)
break
elseif f(A(i))*Y(i)<0 %bissecção%
A(i+1)=A(i);
B(i+1)=X(i);
else
A(i+1)=X(i);
B(i+1)=B(i);
end
%informação%
Inter=i;
if Inter>=Interacoes
disp(’Não foi encontrado um valor com a precisão desejada’)
end
end
%%%contruindo gráfico%%%
n=length(X);
K=1:n;
output=[K’ A(1:n)’ B(1:n)’ X’ Y’];
disp(’Inter a b xi yi’)
disp(output)
Sabendo-se que as raízes procuradas estavam entre os
senguintes intervalos:
A=[-4,-3]
B=[1,0]
C=[2,3]
Foi aplicado o algoritmo, usando cada intervalo e refinando
a resposta de acordo com a precisão desejada.
E para plotar o gráfico referente a equação, foi usado o
seguinte código:
x=-5:0.1:5;
p=x.^3-9*x+3;
plot(x,p)
Onde foi estabelecido um intervalo de -10 a 10, onde se sabe
que estão as três raízes da equação, com um passo de 0.1.
pf3

Pré-visualização parcial do texto

Baixe Método da Bissecção e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Método da Bissecção

Alessandro Gois Souza e Keilly Oliveira Silva

Fundação Universidade Federal de Rondônia, Núcleo de Ciência e Tecnologia, Departamento de Engenharia e Física - DENFI Curso de Bacharelado em Engenharia Elétrica - 4 o^ Período - Matrícula: 200711809 − 200711773 - Disciplina de Cálculo Numérico

Resumo—Esse relatório é baseado em um método numérico para se calcular as raízes de uma equação polinomial, que consiste em encontrar, não só o intervalo que se encontram as raízes, mas também uma aproximação, de acordo com a necessidade.

Index Terms—raízes, bissecção, aproximação, etc...

I. INTRODUÇÃO

Seja f(x) uma função contínua no intervalo [a,b] e f(a).f(b)<0.

Dividindo-se o intervalo [a,b] ao meio, obtém-se x 0 , havendo, pois, dois subintervalos, [a,x 0 ] e [x 0 ,b], a ser considerados.

Se f(x 0 )=0, então, ξ=x 0 ; caso contrário, a raiz estará no subintervalo onde a função tem sinais opostos nos pontos extremos, ou seja, se f(a).f(x 0 )<0, então, ξ∈(a,x 0 ); senão f(a).f(x 0 )>0 e ξ∈(x 0 ,b).

O novo intervalo [a 1 ,b 1 ] que contém ξ é dividido a meio e obtém-se o ponto x 1. O processo se repete até que se obtenha uma aproximação para a raiz exata ξ, com a tolerância desejada.

II. OBJETIVOS

Objetivos Gerais

Tem-se como intuito a busca de uma valor mais aproximado para raízes de equações. Ou seja, a partir dos intervalos encontrados pelo método do isolamento, obter um valor mais próximo dos zeros da função trabalhada.

Objetivos Específicos

Tem-se como objetivo específico encontrar um valor bem aproximado das raízes da seguinte equação polinomial:

p = x^3 − 9 x + 3 (1)

III. MATERIAIS E MÉTODOS

Materiais

Foi necessário fazer uso de um notebook, com a seguinte configuração:

  • Processador Pentium Dual-core
  • Memória: 2 GB RAM
  • HD: 160 GB SATA

E ainda:

  • Software Matlab 7.
  • Software TexnicCenter

Métodos

No matlab, criou-se o seguinte programa, com a finalidade de se calcular as raízes do polinômio desejado:

%%%Dados iniciais%%% a=2; b=3; A(1)=a; B(1)=b; f=inline(’x^3-9x+3’) %%%condição de execução%%% if f(a)f(b)> Erro (’A função não muda de sinal’) break end %%%execução%%% precisao=10^(-3) Interacoes=norm((log(b-a)-log(precisao))/log(2)) %%%looping%%% for i=1:Interacoes %comando% X(i)=((A(i)+B(i))/2); Y(i)=f(X(i)); %condição dos intervalos% if(X(i)-A(i))<precisao disp (’Houve convergência’) %Se houve convergência o sistema para% end if Y(i)== disp(’Foi encontrada uma raiz exata’) break elseif f(A(i))*Y(i)<0 %bissecção% A(i+1)=A(i); B(i+1)=X(i); else A(i+1)=X(i); B(i+1)=B(i); end %informação% Inter=i; if Inter>=Interacoes disp(’Não foi encontrado um valor com a precisão desejada’) end end %%%contruindo gráfico%%% n=length(X); K=1:n; output=[K’ A(1:n)’ B(1:n)’ X’ Y’]; disp(’Inter a b xi yi’) disp(output)

Sabendo-se que as raízes procuradas estavam entre os senguintes intervalos:

• A=[-4,-3]

• B=[1,0]

• C=[2,3]

Foi aplicado o algoritmo, usando cada intervalo e refinando a resposta de acordo com a precisão desejada.

E para plotar o gráfico referente a equação, foi usado o seguinte código:

x=-5:0.1:5; p=x.^3-9*x+3; plot(x,p)

Onde foi estabelecido um intervalo de -10 a 10, onde se sabe que estão as três raízes da equação, com um passo de 0.1.

IV. RESULTADOS

Ao executar o programa, tem-se:

  • Para o primeiro intervalo: [-4,-3] O programa obteve o seguinte resultado em: 0. segundos.

f = Inline function: f(x) = x^3-9*x+

precisao =

1.0000e-

Interacoes =

E a tabela com os resultados do refinamento do primeiro intervalo:

Inter a b xi yi 1.0000 -4.0000 -3.0000 -3.5000 -8. 2.0000 -3.5000 -3.0000 -3.2500 -2. 3.0000 -3.2500 -3.0000 -3.1250 0. 4.0000 -3.2500 -3.1250 -3.1875 -0. 5.0000 -3.1875 -3.1250 -3.1563 -0. 6.0000 -3.1563 -3.1250 -3.1406 0. 7.0000 -3.1563 -3.1406 -3.1484 0. 8.0000 -3.1563 -3.1484 -3.1523 0. 9.0000 -3.1563 -3.1523 -3.1543 0.

Tabela I TABELA DE INTERAÇÕES

  • Para o intervalo: [0,1] O programa obtve o seguinte resultado em: 0.047953 segundos.

f = Inline function: f(x) = x^3-9*x+

precisao =

1.0000e-

Interacoes =

E a tabela com os resultado do refinamento segundo intervalo:

Inter a b xi yi 1.0000 0 1.0000 0.5000 -1. 2.0000 0 0.5000 0.2500 0. 3.0000 0.2500 0.5000 0.3750 -0. 4.0000 0.2500 0.3750 0.3125 0. 5.0000 0.3125 0.3750 0.3438 -0. 6.0000 0.3125 0.3438 0.3281 0. 7.0000 0.3281 0.3438 0.3359 0. 8.0000 0.3359 0.3438 0.3398 -0. 9.0000 0.3359 0.3398 0.3379 -0.

Tabela II TABELA DE INTERAÇÕES

  • Para o intervalo: [2,3]

O programa obteve o seguinte resultado em: 0. segundos.

f = Inline function: f(x) = x^3-9*x+

precisao =

1.0000e-

Interacoes =

E a tabela com os resultados do refinamento do terceiro intervalo:

Inter a b xi yi 1.0000 2.0000 3.0000 2.5000 -3. 2.0000 2.5000 3.0000 2.7500 -0. 3.0000 2.7500 3.0000 2.8750 0. 4.0000 2.7500 2.8750 2.8125 -0. 5.0000 2.8125 2.8750 2.8438 0. 6.0000 2.8125 2.8438 2.8281 0. 7.0000 2.8125 2.8281 2.8203 0. 8.0000 2.8125 2.8203 2.8164 -0. 9.0000 2.8164 2.8203 2.8184 0.

Tabela III TABELA DE INTERAÇÕES

Tem-se o gráfico da função polinomial gerado no matlab:

Figura 1.

V. DISCUSSÃO E CONCLUSÕES

Como dito anteriormente, o objetivo do código era refinar o intervalo que se encontravam as raízes em análise.

Isso ocorreu com sucessivas divisões do intervalo que se encontravam as raízes ao meio.

Caso, buscasse valores ainda mais aproximados, era só aumen- tar a precisão do código, que nesse caso foi usada uma precisão de 0.001. A partir disso, encontraram-se os valores das raízes e o gráfico referente ao polinômio, neste podendo ser observado,