Algoritmo para calcular as raízes pelo método do ponto fixo Nome: Lorraine Marques Alves % Calculando a raiz de uma função pelo método do ponto fixo % a função escolhida foi f(x)=cos(x³+1)-x %a função g(x) de iteração é g(x)=cos(x³+1) >> global maxiteracoes tolerancia >> tolerancia=1e-2; >> maxiteracoes=100; >> x=-10:0.5:10; >> y=func(x); >> plot(x,x,x,y) >> grid on >> [raizfunc, parametro]=raizf('func',0.4); >> switch parametro case -1 disp('Raiz da função não encontrada. ') otherwise disp(['A raiz é : ', num2str(raizfunc) , ' encontrada em ', num2str(parametro) , ' iterações!']) end A raiz é : 0.46023 encontrada em 4 iterações! >> Gráficos de y=x e g(x):
Zoom no intervalo [0,1] mostrando o valor aproximado da raiz de f(x) (que é o ponto de interseção) e o nº de iterações:
Funções: % a função func.m determina a função de iteração function [g]=func(x) g = cos(x.^3+1);
% a função raizf.m faz as iterações, procurando as raízes function[raiz,parametro]=raizf(g,xinicial) global tolerancia maxiteracoes parametro=0; iteracoes=0; prox=feval(g,xinicial); while(iteracoes<maxiteracoes)& abs(prox-xinicial)>tolerancia iteracoes=iteracoes+1; xinicial=prox; prox=feval(g,xinicial); end if iteracoes==maxiteracoes parametro=-1; raiz=NaN; else parametro=iteracoes; raiz=prox; end