• Nenhum resultado encontrado

Funções para Análise Numérica

N/A
N/A
Protected

Academic year: 2021

Share "Funções para Análise Numérica"

Copied!
6
0
0

Texto

(1)

Funções para Análise Numérica

Métodos Iterativos

-

Ficheiro bisect.m ( Kharab modificado )

bisect(f,a,b,tol,n) Bisection method for solving the nonlinear equation f(x)=0.

Os dados sao os limites do intervalo a e b,

- a amplitude do intervalo tol e o numero maximo de iteraçoes n. - f pode ser uma funçao handle, um string com o nome da funçao,

uma funçao definida por inline ou um string com a expressao da funçao Esta versao foi modificada do original (Kharab) para aceitar a ultima situaçao.

Fornece uma tabela com as diferentes iteraçoes. No final e´ traçado o grafico da funçao entre a e b.

EXEMPLO

bisect('x.^3-x.^2-1',1,2,1e-4,40)

-

Ficheiro bissec.m ( Kharab bastante modificado )

[x,iter,int]=bissec(f,a,b,tol,n) metodo das bissecçoes para resolver equaçoes nao lineares f(x)=0.

tambem

[x,iter,int]=bissec(f,a,b,tol,n,kt) [x,iter,int]=bissec(f,a,b,tol,n,kt,kg) Os dados sao os limites do intervalo a e b,

- a amplitude do intervalo tol e o numero maximo de iteraçoes n. - Se existir kt e kt=1 e´ fornecida uma tabela.

- f pode ser uma funçao handle, um string com o nome da funçao,

uma funçao definida por inline ou um string com a expressao da funçao Esta versao foi modificada do original (Kharab) para aceitar a ultima situaçao e para aceitar parametros de saida.

Fornece a soluçao x (com erro<tol) obtida em iter iteraçoes e se tiver 3 parametros de saida fornece o intervalo estreitado int de que x e' o ponto medio.

No final e´ traçado o grafico da funçao entre a e b se existir kg e kg=1.

EXEMPLO

(2)

-

Ficheiro false.m ( Kharab modificado )

false(f,a,b,tol,n) False position method for solving the nonlinear equation f(x)=0. (sem extremo fixo)

Usa essencialmente os criterios de paragem |f(x)|<tol e |b-a|<tol. Os dados sao os limites do intervalo a e b,

- a tolerancia tol e o numero maximo de iteraçoes n.

- f pode ser uma funçao handle, um string com o nome da funçao,

uma funçao definida por inline ou um string com a expressao da funçao Esta versao foi modificada do original (Kharab) para aceitar a ultima situaçao.

Fornece uma tabela com as diferentes iteraçoes. No final e´ traçado o grafico da funçao entre a e b.

EXEMPLO

false('x.^3-x.^2-1',1,2,1e-4,40)

-

Ficheiro falsaposfix.m

[x,iter]=falsaposfix(f,x0,c,tol,n) Metodo da falsa posiçao com extremo fixo para resolver equçoes nao lineares f(x)=0,

ou [x,iter]=falsaposfix(f,x0,c,tol,n,kt)

Os dados sao o ponto inicial x0 e o extremo fixo c, - a tolerancia tol (do criterio de paragem |xi-x(i-1)|<tol) e o numero maximo de iteraçoes n.

- Se existir kt e kt=1 e´ fornecida uma tabela com as iteraçoes. - f pode ser uma funçao handle, um string com o nome da funçao,

uma funçao definida por inline ou um string com a expressao da funçao Esta versao foi modificada do original (Kharab) para aceitar a ultima situaçao e para aceitar parametros de saida.

Fornece a soluçao x obtida em iter iteraçoes.

EXEMPLO

(3)

-

Ficheiro newton.m ( Kharab bastante modificado )

[x,iter]=newton(f,df,x0,tol,n) Newton's method for solving the nonlinear equation f(x)=0,

ou [x,iter]=newton(f,df,x0,tol,n,kt) Os dados sao o ponto inicial x0,

- a tolerancia tol (do criterio de paragem |xi-x(i-1)|<tol) e o numero maximo de iteraçoes n.

- Se existir kt e kt=1 e´ fornecida uma tabela com as iteraçoes.

- f e df podem ser funçoes handle, strings com os nomes das funçoes, funçoes definidas por inline ou strings com as expressoes das funçoes Esta versao foi modificada do original (Kharab) para aceitar a ultima situaçao e para aceitar parametros de saida.

Fornece a soluçao x obtida em iter iteraçoes.

EXEMPLO

x=newton('x.^3-x.^2-1','3*x.^2-2*x',2,1e-4,40)

Ficheiro fixed.m ( Kharab bastante modificado )

[x,iter]=fixed(g,x0,tol,n) The fixed point iteration method for solving the nonlinear

equation f(x)=0 <=> x=g(x).

ou [x,iter]=fixed(g,x0,tol,n,kt) Os dados sao o ponto inicial x0,

- a tolerancia tol (do criterio de paragem |xi-x(i-1)|<tol) e o numero maximo de iteraçoes n.

- Se existir kt e kt=1 e´ fornecida uma tabela com as iteraçoes. - g pode ser uma funçao handle, um string com o nome da funçao,

uma funçao definida por inline ou um string com a expressao da funçao Esta versao foi modificada do original (Kharab) para aceitar a ultima situaçao e para aceitar parametros de saida.

Fornece a soluçao x obtida em iter iteraçoes.

EXEMPLO

(4)

-

Ficheiro fzero.m ( função Matlab )

FZERO Scalar nonlinear zero finding.

X = FZERO(FUN,X0) tries to find a zero of the function FUN near X0. FUN accepts real scalar input X and returns a real scalar function value F evaluated at X. The value X returned by FZERO is near a point where FUN changes sign (if FUN is continuous), or NaN if the search fails.

X = FZERO(FUN,X0), where X is a vector of length 2, assumes X0 is an interval where the sign of FUN(X0(1)) differs from the sign of FUN(X0(2)). An error occurs if this is not true. Calling FZERO with an interval guarantees FZERO will return a value near a point where FUN changes sign. X = FZERO(FUN,X0), where X0 is a scalar value, uses X0 as a starting guess. FZERO looks for an interval containing a sign change for FUN and containing X0. If no such interval is found, NaN is returned. In this case, the search terminates when the search interval is expanded until an Inf, NaN, or complex value is found.

X = FZERO(FUN,X0,OPTIONS) ... (faz mais coisa ver help)

Syntax x = fzero(fun,x0) x = fzero(fun,x0,options) x = fzero(fun,x0,options,P1,P2,...) [x,fval] = fzero(...) [x,fval,exitflag] = fzero(...) [x,fval,exitflag,output] = fzero(...) ...

[x,fval,exitflag,output] = fzero(...) returns a structure output that contains information about the optimization:

Examples

FUN can be specified using @: X = fzero(@sin,3)

returns pi.

X = fzero(@sin, [3,4], optimset('disp','iter'))

returns pi, uses the default tolerance and displays iteration information.

(ver optimset no help)

FUN can also be an inline object: X = fzero(inline('sin(3*x)'),2);

Limitations

X = fzero(inline('abs(x)+1'), 1) returns NaN since this function does not change sign anywhere on the real axis (and does not have a zero as well).

X = fzero(@tan,2) returns X near 1.5708 because the discontinuity of this function near the point X gives the appearance (numerically) that the function changes sign at X

(5)

Opções por defeito para a função fzero . >> opcao=optimset('fzero') opcao = ActiveConstrTol: [] DerivativeCheck: [] Diagnostics: [] DiffMaxChange: [] DiffMinChange: [] Display: 'notify' GoalsExactAchieve: [] GradConstr: [] GradObj: [] Hessian: [] HessMult: [] HessPattern: [] HessUpdate: [] Jacobian: [] JacobMult: [] JacobPattern: [] LargeScale: [] LevenbergMarquardt: [] LineSearchType: [] MaxFunEvals: [] MaxIter: [] MaxPCGIter: [] MaxSQPIter: [] MeritFunction: [] MinAbsMax: [] Preconditioner: [] PrecondBandWidth: [] ShowStatusWindow: [] TolCon: [] TolFun: [] TolPCG: [] TolX: 2.2204e-016 TypicalX: []

As únicas opções que a função fzero usa são

Display

Level of display. 'off' displays no output; 'iter' displays output at each iteration; 'final' displays just the final output; 'notify' (default) dislays output only if the function does not converge.

TolX

(6)

Se a função for polinomial

Ficheiro roots.m ( função Matlab )

roots

Polynomial roots

Syntax

r = roots(c)

Description

r = roots(c) returns a column vector whose elements are the roots of the polynomial c. Row vector c contains the coefficients of a polynomial, ordered in descending powers. If c has n+1 components, the polynomial it represents is c1xn+…+cnx+cn+1.

Remarks

Note the relationship of this function to p = poly(r), which returns a row vector whose elements are the coefficients of the polynomial. For vectors, roots and poly are inverse functions of each other, up to ordering, scaling, and roundoff error.

Examples

The polynomial x3 - 6x2 -72x -27 is represented in MATLAB as p = [1 -6 -72 -27]

The roots of this polynomial are returned in a column vector by r = roots(p) r = 12.1229 -5.7345 -0.3884 Algorithm

The algorithm simply involves computing the eigenvalues of the companion matrix: (Se n for o comprimento do vector c)

A = diag(ones(n-2,1),-1); A(1,:) = -c(2:n)./c(1); eig(A)

It is possible to prove (se determinar o polinómio característico da matriz anterior obtém um polinómio com as mesmas raízes do polinómio dado) that the results produced are the exact eigenvalues of a matrix within roundoff error of the companion matrix A, but this does not mean that they are the exact roots of a polynomial with coefficients within roundoff error of those in c.

Referências

Documentos relacionados

Para isto, definiu-se como objetivo geral deste estudo verificar a capacidade preditiva do conflito intragrupal tarefa e relacionamento, do suporte social no trabalho

Moreover, analysis of rectal biopsies free of colorectal disease obtained from 185 individuals showed that higher waist and hip perimeters were significantly associated with

Era de conhecimento de todos e as observações etnográficas dos viajantes, nas mais diversas regiões brasileiras, demonstraram largamente os cuidados e o apreço

O termo extrusão do núcleo pulposo aguda e não compressiva (Enpanc) é usado aqui, pois descreve as principais características da doença e ajuda a

Adotam-se como compreensão da experiência estética as emoções e sentimentos nos processos de ensinar e aprender Matemática como um saber epistêmico. Nesse viés, Freire assinala

Foi membro da Comissão Instaladora do Instituto Universitário de Évora e viria a exercer muitos outros cargos de relevo na Universidade de Évora, nomeadamente, o de Pró-reitor (1976-

62 daquele instrumento internacional”, verifica-se que não restam dúvidas quanto à vinculação do Estado Brasileiro à jurisdição da Corte Interamericana, no que diz respeito a

O CES é constituído por 54 itens, destinados a avaliar: (a) cinco tipos de crenças, a saber: (a1) Estatuto de Emprego - avalia até que ponto são favoráveis, as