Escolar Documentos
Profissional Documentos
Cultura Documentos
Dourados
2016
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
a = p;
end
end
if (s == 1)
disp (O limite de iteraes foi alcanado)
end
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;
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));
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
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
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
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
A raiz : 2.35424
Quantidade de iteraes: 3
10