método ponto fixo

3
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):

description

Algoritmo para calcular raízes usando o método ponto fixo

Transcript of método ponto fixo

Page 1: método ponto fixo

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 parametrocase -1disp('Raiz da função não encontrada. ')otherwisedisp(['A raiz é : ', num2str(raizfunc) , ' encontrada em ', num2str(parametro) , ' iterações!'])endA raiz é : 0.46023 encontrada em 4 iterações!>>

Gráficos de y=x e g(x):

Page 2: método ponto fixo

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çãofunction [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 maxiteracoesparametro=0;iteracoes=0;prox=feval(g,xinicial);while(iteracoes<maxiteracoes)& abs(prox-xinicial)>tolerancia iteracoes=iteracoes+1; xinicial=prox; prox=feval(g,xinicial);endif iteracoes==maxiteracoes parametro=-1; raiz=NaN;else parametro=iteracoes; raiz=prox;end