Você está na página 1de 3

>> format long

>> x=pi/6
x =
0.523598775598299
>> sin(x)
ans =
0.500000000000000
>> x-x^3/factorial(3)
ans =
0.499674179394364
>> x-x^3/factorial(3)+x^5/factorial(5)
ans =
0.500002132588792
>> x-x^3/factorial(3)+x^5/factorial(5)-x^7/factorial(7)
ans =
0.499999991869023
>> x-x^3/factorial(3)+x^5/factorial(5)-x^7/factorial(7)+x^9/factorial(9)
ans =
0.500000000020280

================================================================================
=============================
x=linspace(0,pi,40);
>> x=linspace(0,pi,40);
>> y=sin(x);
>> y1=x;
>> y2=x-x.^3/factorial(3);
>> y3=x-x.^3/factorial(3)+x.^5/factorial(5);
plot(x,y,'k',x,y1,'b',x,y2,'g',x,y3,'m');
legend('exato','N=1','N=2','N=3');
xlabel('x');
ylabel('y');
grid;
================================================================================
=============================
x=linspace(0,1,10000);
f=x-cos(x+pi/3);
plot(x,f,'r',[0,1],[0,0],'k--');
================================================================================
=============================
Metodo da bissecção...File, new, blank...
function xchapeu = bissec(F,a, b, imax, tol);
%Função que calcula a raiz da de F(x) = 0
%F = função
%a = limite inferior do intervalo inicial em que está uma raiz
%b = limite superior do intervalo inicial em que está uma raiz
%imax = número máximo de iterações
%tol = tolerância admitida
Fa = feval(F,a); Fb = feval(F,b);
if Fa*Fb > 0,
disp('Erro: a função tem o mesmo sinal nos pontos a e b.');
else
disp('Iteração
end
%Vamos calcular a raiz
for i = 1:imax,
xchapeu = (a+b)/2;
toli = (b-a)/2; %Tolerância atual
Fxchapeu = feval(F,xchapeu);
fprintf('%3i
if Fxchapeu == 0,
fprintf('Uma solução exata x = %11.6f foi obtida\n\n', xchapeu);
break;
end
if toli < tol,
fprintf('Tolerância atingida!\n\n', xchapeu);
break;
end
if i == imax,
fprintf('Número máximo de iterações atingido!\n\n', xchapeu);
break;
end
if F(a)*Fxchapeu<0
b = xchapeu;
else
a = xchapeu;
end
end
a
b
(xchapeu)Solução
f(xchapeu)
Tolerância');
%Solução numérica aproximada até aqui
%11.6f%11.6f
%11.6f
%11.6f
%11.6f\n\n', i, a, b, xchapeu, Fxchapeu, toli);

No command Window:
cd 'c:\users\UFABC\Desktop'
>> edit bissec.m.
bissec(inline('x-cos(x+pi\3)'),0,1,10,.01)

Você também pode gostar