Você está na página 1de 11

Hugo Okahara da Silva

Mtodos da bisseco, falsa posio e


Newton-Raphson

Dourados
2016

Hugo Okahara da Silva

Mtodos da bisseco, falsa posio e Newton-Raphson

Trabalho aprensentado disciplina de Mtodos


Numricos Para Engenharia do curso de graduaoo em Engenharia Mecnica.

Universidade Federal da Grande Dourados UFGD


Faculdade de Engenharia FAEN
Graduao em Engenharia Mecnica

Orientador: Marcus Varanis

Dourados
2016

SUMRIO
1
1.1
1.2
1.3

PROGRAMAO MATLAB
Bisseco . . . . . . . . . . .
Falsa Posio . . . . . . . . .
Newton-Raphson . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

3
3
4
5

2
2.1
2.1.1
2.1.2
2.2
2.2.1
2.2.2
2.3
2.3.1
2.3.2

EXECUO DO CDIGO
Bisseco . . . . . . . . . .
Exemplo 1 . . . . . . . . . .
Exemplo 2 . . . . . . . . . .
Falsa Posio . . . . . . . .
Exemplo 1 . . . . . . . . . .
Exemplo 2 . . . . . . . . . .
Newton-Rapshon . . . . . .
Exemplo 1 . . . . . . . . . .
Exemplo 2 . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

. . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

7
7
7
7
8
8
8
9
9
9

.
.
.
.
.
.
.
.
.
.

1 PROGRAMAO MATLAB
1.1 BISSECO
Entrada de dados
syms x
f = input(Escreva sua funo: ); %% Funo f(x)
a = input(Escreva o inicio do intervalo: ); %% Valor inicial de a
b = input(Escreva o final do intervalo: ); %% Valor inicial de b
tol = input(Escreva o valor da tolerncia: ); %% Valor da tolerancia
N = 1e5;

Parmetro de inicializao
s = 1;
fp = 1;
i = 0; %% Contador de iteraes
fprintf(k
Xn
a

Erro\n)

Clculo
while (i <= N)
if (((b-a)/2) < tol)
fprintf(\n A raiz : %.5f,p)
fprintf(\n Quantidade de iteraes: %d\n\n, i);
s = 0;
break;
end
i = i+1;
p = double((a + b)/2);
fp = double(subs(f,x,p));
fprintf(%d
%0.5f
%0.5f
%0.5f
%0.5f\n,i,p,a,b,fp)
if (fp > tol);
b = p;
else

Captulo 1. Programao MATLAB

a = p;
end
end
if (s == 1)
disp (O limite de iteraes foi alcanado)
end

1.2 FALSA POSIO


Entrada de dados
syms x
f = input(Escreva sua funo: ); %% Funo f(x)
a = input(Escreva o inicio do intervalo: ); %% Valor inicial de a
b = input(Escreva o final do intervalo: ); %% Valor inicial de b
tol = input(Escreva o valor da tolerncia: ); %% Valor da tolerancia
N = 1e5;

Parmetro de inicializao
s = 1;
i = 1; %% Contador de iteraes
fprintf(k
Xn
a

Erro\n)

Clculo
while (i <= N)
fa = double(subs(f,x,a));
fb = double(subs(f,x,b));
Xn = (a * abs(fb) + b * abs(fa))/(abs(fb)+ abs(fa));
fxn = double(subs(f,x,Xn));
fprintf(%d
%0.5f
%0.5f
%0.5f
%0.5f\n,i,Xn,a,b,fxn)
if ( fxn < tol)
fprintf(\n A raiz : %.5f,Xn)
fprintf(\n Quantidade de iteraes: %d\n\n, i);
s = 0;

Captulo 1. Programao MATLAB

break;
end
if (fa*fxn < 0);
b = Xn;
else
a = Xn;
end
end
if (s == 1)
disp (O limite de iteraes foi alcanado)
end

1.3 NEWTON-RAPHSON
Entrada de dados
syms x
f = input(Escreva sua funo: ); %% Funo f(x)
a = input(Escreva o inicio do intervalo: ); %% Valor inicial de a
b = input(Escreva o final do intervalo: ); %% Valor inicial de b
tol = input(Escreva o valor da tolerncia: ); %% Valor da tolerancia
N = 1e5;

Parmetro de inicializao
s = 1;
i = 0; %% Contador de iteraes

Clculo
f1 = diff(f);
f2 = diff(f1);
fa = double(subs(f,x,a));
fb = double(subs(f,x,b));
f2a = double(subs(f2,x,a));

Captulo 1. Programao MATLAB

f2b = double(subs(f2,x,b));
if fa*f2a > 0 && fa*f2a > fb*f2b
p = a;
end
if fb*f2b > 0 && fa*f2a < fb*f2b
p = b;
end
fprintf(O melhor extremo %d\n\n, p)
fprintf(k
Xn
Erro\n)
while (s <= N)
i = i + 1;
fp = double(subs(f,x,p));
f1p = double(subs(f1,x,p));
p1 = p;
p = p - fp/f1p;
erro = p1-p;
fprintf(%d
%0.5f
%0.5f
\n,i,p,erro)
if (erro < tol)
i = i;
fprintf(\n A raiz : %.5f,p)
fprintf(\n Quantidade de iteraes: %d\n\n, i);
s=0;
break
end
end
if (s == 1)
disp (O limite de iteraes foi alcanado)
end

2 EXECUO DO CDIGO
2.1 BISSECO
2.1.1 Exemplo 1
Escreva sua funo: x*log(x)-3.2
Escreva o inicio do intervalo: 2
Escreva o final do intervalo: 3
Escreva o valor da tolerncia: 1e-2
k

Xn

Erro

2.50000

2.00000

3.00000

-0.90927

2.75000

2.50000

3.00000

-0.41810

2.87500

2.75000

3.00000

-0.16385

2.93750

2.87500

3.00000

-0.03467

2.96875

2.93750

3.00000

0.03042

2.95313

2.93750

2.96875

-0.00217

A raiz : 2.95313
Quantidade de iteraes: 6

2.1.2 Exemplo 2
Escreva sua funo: 2*x-sin(x)-4
Escreva o inicio do intervalo: 2
Escreva o final do intervalo: 3
Escreva o valor da tolerncia: 1e-3

Captulo 2. Execuo do cdigo

Xn

Erro

2.50000

2.00000

3.00000

0.40153

2.25000

2.00000

2.50000

-0.27807

2.37500

2.25000

2.50000

0.05631

2.31250

2.25000

2.37500

-0.11232

2.34375

2.31250

2.37500

-0.02835

2.35938

2.34375

2.37500

0.01390

2.35156

2.34375

2.35938

-0.00725

2.35547

2.35156

2.35938

0.00332

2.35352

2.35156

2.35547

-0.00197

A raiz : 2.35352
Quantidade de iteraes: 9

2.2 FALSA POSIO


2.2.1 Exemplo 1
Escreva sua funo: x*log(x)-3.2
Escreva o inicio do intervalo: 2
Escreva o final do intervalo: 3
Escreva o valor da tolerncia: 1e-2
k

Xn

Erro

2.94981

2.00000

3.00000

-0.00907

A raiz : 2.94981
Quantidade de iteraes: 1

2.2.2 Exemplo 2
Escreva sua funo: 2*x-sin(x)-4
Escreva o inicio do intervalo: 2
Escreva o final do intervalo: 3
Escreva o valor da tolerncia: 1e-3

Captulo 2. Execuo do cdigo

Xn

Erro

2.32848

2.00000

3.00000

-0.06946

A raiz : 2.32848
Quantidade de iteraes: 1

2.3 NEWTON-RAPSHON
2.3.1 Exemplo 1
Escreva sua funo: x*log(x)-3.2
Escreva o inicio do intervalo: 2
Escreva o final do intervalo: 3
Escreva o valor da tolerncia: 1e-2
O melhor extremo 3
k

Xn

Erro

2.95433

0.04567

2.95417

0.00017

A raiz : 2.95417
Quantidade de iteraes: 2

2.3.2 Exemplo 2
Escreva sua funo: 2*x-sin(x)-4
Escreva o inicio do intervalo: 2
Escreva o final do intervalo: 3
Escreva o valor da tolerncia: 1e-3
O melhor extremo 3
k

Xn

Erro

2.37830

0.62170

2.35432

0.02398

2.35424

0.00007

Captulo 2. Execuo do cdigo

A raiz : 2.35424
Quantidade de iteraes: 3

10