• Nenhum resultado encontrado

Nessa se¸c˜ao ser˜ao feitas compara¸c˜ao entre os m´etodos: m´etodo da Suavidade, m´etodo de Euler e c´alculo dos autovalores para EDO’s lineares sendo que este ´ultimo ser´a consi- derado apenas caso a EDO seja linear com coeficientes constantes. Nas compara¸c˜oes n˜ao ser˜ao considerados os outros dois m´etodos (da Sub-parti¸c˜ao e da Suavidade Adaptado), pois estes n˜ao convergem para a solu¸c˜ao exata a medida que aumentamos o tamanho da parti¸c˜ao, visto que n˜ao consideram todas as condi¸c˜oes de suavidade.

A forma da solu¸c˜ao exata de EDO’s lineares com coeficientes constantes ´e conhecida e depende exclusivamente dos autovalores da EDO e das condi¸c˜oes iniciais. Ao resolver uma EDO por um desses m´etodos num´ericos pode-se comparar com a solu¸c˜ao dada pelo c´alculo dos autovalores em tempo e aproxima¸c˜ao da solu¸c˜ao exata. Nessa se¸c˜ao ser˜ao feitas essas compara¸c˜oes.

Para o c´alculo dos autovalores usamos o Matlab que utiliza dois m´etodos: decom- posi¸c˜ao de Cholesky (ver, por exemplo, Watkins [13]), para matrizes sim´etricas, e decom- posi¸c˜ao QZ para autovalores generalizados no caso geral. A decomposi¸c˜ao QZ tamb´em ´e conhecida como decomposi¸c˜ao generalizada de Schur.

Um estudo mais detalhado sobre m´etodo de Euler para resolu¸c˜ao de uma EDO pode ser encontrado em Boyce e DiPrima [2]. O algoritmo 3.2 descreve os passos necess´arios para resolver uma EDO numericamente por esse m´etodo.

Ser´a denotado At(n) para representar o tempo m´edio para resolver uma EDO linear

com coeficientes constantes atrav´es do c´alculo dos seus autovalores, e Et(n, s) e St(n, s)

para representar, respectivamente, o tempo m´edio para resolver uma EDO linear com coeficientes constantes de grau n com s itera¸c˜oes pelo m´etodo de Euler e pelo m´etodo da Suavidade.

Algoritmo 3.2: M´etodo de Euler Entrada: f (y, y′, . . . , y(n−1), t), x 0, xf, y0, y0(1), . . . , y (n−1) 0 , s. Sa´ıda: y0, y1, . . . , ys+1 in´ıcio dx ← (xf − x0)/s; para i=0 at´e s fa¸ca

para j=0 at´e n-1 fa¸ca

y(j)i+1 ← yi(j)+ fj(yi, yi′, . . . , y (n−1) i , xk)dx; fim para xi+1 ← xk−1+ dx; fim para fim

O tempo relativo para resolver uma EDO linear com coeficientes constantes atrav´es do m´etodo de Euler ser´a definido como

Etr(n, s) =

Et(n, s)

At(n)

e atrav´es do m´etodo da Suavidade ser´a definido como Str(n, s) =

St(n, s)

At(n)

.

Se S(t) ´e a solu¸c˜ao aproximada de uma EDO pelo m´etodo da Suavidade, dados h e s, definimos como erro relativo do m´etodo da Suavidade como

Ser =

∫sh

0 |S(t) − y(t)| dt

∫sh

0 |y(t)| dt

onde y(t) ´e a solu¸c˜ao exata da EDO.

Se yk ´e a solu¸c˜ao aproximada da EDO no ponto xk para k = 1, 2, . . . , s pelo m´etodo

de Euler, definimos como erro relativo do m´etodo de Euler como Eer =

∑s

k=0|yk+1− yk|h/2 dt

∫sh

0 |y(t)| dt

Exemplo 3.7. Considere a seguinte EDO de grau 4,

y(4)+ 8y(3)+ 25y(2)+ 46y(1)+ 40y = u(t) que possui autovalores

λ1 = −4, λ2 = −2, λ3 = −1 + 2i, λ4 = −1 − 2i

A EDO ser´a resolvida no intervalo [0, 6] para diversos valores de s pelo m´etodo de Euler e pelo m´etodo da Suavidade. A tabela 3.5 mostra o tempo computacional e o erro relativo das solu¸c˜oes pelo m´etodo de Euler e pelo m´etodo da Suavidade em rela¸c˜ao ao tempo computacional para determinar a solu¸c˜ao exata calculando os autovalores.

s Etr Str Eer Ser Et/St Eer/Ser

24 0.8281 2.3754 0.0209 0.0037 0.3486 5.5846 38 1.0660 2.7813 0.0089 0.0024 0.3833 3.6483 50 1.2898 3.1731 0.0060 0.0019 0.4065 3.1830

Tabela 3.2: Compara¸c˜ao entre as solu¸c˜oes do exemplo 3.7 pelo m´etodo de Euler e pelo m´etodo da Suavidade com o c´alculo dos autovalores

De acordo com a tabela 3.5 pode-se concluir que c´alculo aproximado pelo m´etodo de Euler e pelo m´etodo da Suavidade n˜ao s˜ao competitivos com o c´alculo exato da solu¸c˜ao da EDO do exemplo 3.7.

Para comparar o m´etodo de Euler com o m´etodo da Suavidade ao resolver a EDO do exemplo 3.7 ´e interessante considerar solu¸c˜oes que se tenha o tempo computacional ou o erro relativo pr´oximos.

Nessa situa¸c˜ao se ao resolver a EDO do exemplo 3.7 pelo m´etodo da Suavidade for escolhido um valor de s menor que 120 e ao resolver essa EDO pelo m´etodo de Euler for escolhido um valor de s apropriado, ent˜ao a solu¸c˜ao pelo m´etodo de Euler ter´a erro e tempo computacional menor.

Suavidade Euler Et/St Eer/Ser s = 30 s = 85 0.7375 1.0094 s = 30 s = 122 0.9910 0.6608 s = 120 s = 287 0.9944 1.0002 s = 1000 s = 1950 1.0081 1.1571 s = 1000 s = 2254 1.1628 1.0001

Tabela 3.3: Compara¸c˜ao entre as solu¸c˜oes do exemplo 3.7 pelo m´etodo de Euler e pelo m´etodo da Suavidade

Analogamente, se ao resolver a EDO do exemplo 3.7 pelo m´etodo de Euler escolher um valor de s maior que 287 e ao resolver essa EDO pelo m´etodo da Suavidade for escolhido um valor de s apropriado, ent˜ao a solu¸c˜ao pelo m´etodo da Suavidade ter´a erro e tempo computacional menor.

Os valores de 120 e 287 s˜ao aproximados e foram escolhidos de acordo com os valores de Et e St (tempos m´edios) que foram calculados resolvendo o problema diversas vezes e

calculando a m´edia do tempo.

0 1 2 3 4 5 6 0 0.005 0.01 0.015 0.02 0.025 0.03 Amplitude t Euler Suavidade Exata

(a) Solu¸c˜oes Aproximadas e Exata

0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8x 10 −4 Erro Absoluto t Euler Suavidade (b) Erro Absoluto

Figura 3.8: Solu¸c˜ao da EDO do exemplo 3.7 pelo m´etodo de Euler com s = 175 e da Suavidade com s = 70

A figura 3.8 mostra o gr´afico das solu¸c˜oes do m´etodo de Euler e do m´etodo da Sua- vidade para valores de s onde o tempo computacional e o erro relativo entre as solu¸c˜oes

s˜ao praticamente iguais.

Exemplo 3.8. Considere a seguinte EDO linear

y′′+ ty′+ 4y = 2 t cos(2t)

com condi¸c˜oes iniciais y0 = 0 e y′0 = 2 que possui solu¸c˜ao exata igual a

y(t) = sen(2t).

A EDO ser´a resolvida no intervalo [0, 6] para diversos valores de s pelo m´etodo de Euler e pelo m´etodo da Suavidade. A tabela 3.5 mostra as rela¸c˜oes entre o tempo computacional e o erro relativo das solu¸c˜oes aproximadas calculadas pelo m´etodo de Euler e pelo m´etodo da Suavidade.

s Et/St Eer Ser Eer/Ser

20 0.3287 3.0852 0.5853 5.2715 50 0.3873 0.9339 0.2450 3.8116 90 0.4338 0.4861 0.1379 3.5251

Tabela 3.4: Compara¸c˜ao entre as solu¸c˜oes do exemplo 3.8 pelo m´etodo de Euler e pelo m´etodo da Suavidade e pelo c´alculo dos autovalores

As solu¸c˜oes desse problema pelo m´etodo da Suavidade e pelo m´etodo de Euler com valores de s = 20 e s = 90 podem ser observado na figura 3.9 assim como o erro absoluto em cada caso. As figuras (a) e (c) apresentam o gr´afico da solu¸c˜ao exata da EDO e os gr´aficos com as solu¸c˜oes aproximadas calculadas pelo m´etodo de Euler e pelo m´etodo da Suavidade.

Na figura 3.9 pode-se observar que nos gr´aficos apresentados o erro absoluto das solu¸c˜oes calculadas pelo m´etodo da Suavidade e menor que o erro das solu¸c˜oes calcu- ladas pelo m´etodo de Euler, por´em, ´e importante ressaltar que o tempo computacional gasto para calcular as solu¸c˜oes pelo M´etodo da Euler foi, em cada um dos casos, menor

0 1 2 3 4 5 6 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Amplitude t Euler Suavidade Exata

(a) Solu¸c˜ao com s = 20

0 1 2 3 4 5 6 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Erro Absoluto t Euler Suavidade

(b) Erro Absoluto com s = 20

0 1 2 3 4 5 6 −1.5 −1 −0.5 0 0.5 1 1.5 Amplitude t Euler Suavidade Exata (c) Solu¸c˜ao como s = 90 0 1 2 3 4 5 6 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Erro Absoluto t Euler Suavidade

(d) Erro Absoluto com s = 90

Figura 3.9: Solu¸c˜ao da EDO do exemplo 3.8 pelo m´etodo de Euler e da Suavidade que o tempo gasto para calcular as solu¸c˜oes pelo m´etodo da Suavidade e isso pode ser observado na tabela 3.5.

Para comparar as solu¸c˜oes entre os dois M´etodos (Euler e Suavidade) ´e interessante que o tempo computacional ou o erro relativo sejam iguais, ou bem pr´oximos, e para isso basta tomar valores de s convenientes em cada caso.

Resolvendo o problema dado no exemplo 3.8 para diversos valores de s pelo m´etodo da Suavidade e pelo m´etodo de Euler foi observado que ao resolver o problema pelo m´etodo da Suavidade com o valor de s maior de 52 podem ser escolhidos valores de s para o m´etodo de Euler que mostram que a solu¸c˜ao pelo m´etodo da Suavidade possui

Suavidade Euler Et/St Eer/Ser s = 20 s = 76 0.6980 0.9976 s = 20 s = 120 0.9933 0.6110 s = 30 s = 108 0.8148 0.9968 s = 30 s = 139 0.9915 0.7637 s = 52 s = 178 1.0000 1.0018 s = 300 s = 628 1.0021 1.5659 s = 300 s = 979 1.5440 1.0009 s = 1000 s = 1910 1.0019 1.7001 s = 1000 s = 3242 1.6967 1.0003

Tabela 3.5: Compara¸c˜ao entre as solu¸c˜oes do exemplo 3.8 pelo m´etodo de Euler e pelo m´etodo da Suavidade

erro e tempo computacional menor, analisando a raz˜ao entre os tempos computacionais e a raz˜ao entre os erros relativos de acordo com a tabela 3.5.

Para exemplificar, considere resolver o problema do exemplo 3.8 pelo m´etodo da Sua- vidade com s = 300 e para comparar resolver o problema, tamb´em, pelo m´etodo de Euler com s = 628 e depois com s = 979. No primeiro caso, os tempos computacionais para a resolu¸c˜ao s˜ao bem pr´oximos, mas o erro relativo da aproxima¸c˜ao calculado pelo m´etodo de Euler ´e bem maior. No segundo caso, os erros relativos s˜ao bem pr´oximos, por´em o tempo computacional da resolu¸c˜ao pelo m´etodo de Euler ´e bem maior. Nos dois casos o m´etodo da Suavidade foi mais eficiente.

Analogamente ao escolher um valor de s menor que 52 ao resolver o problema pelo m´etodo da Suavidade pode-se observar que as solu¸c˜oes pelo m´etodo de Euler ser˜ao me- lhores em erro e tempo computacional.

Para determinar uma solu¸c˜ao aproximada para a EDO o m´etodo da Sub-parti¸c˜ao n˜ao se mostrou um bom m´etodo, visto que este desconsidera as condi¸c˜oes iniciais para EDO’s de grau maiores que 2 e diminuir a parti¸c˜ao, aumentando o valor de s, n˜ao melhora a aproxima¸c˜ao. Por´em considerando EDO’s lineares com coeficientes constantes est´aveis este m´etodo mostrou-se bom para estudar a acomoda¸c˜ao da solu¸c˜ao exata.

Para resolver EDOs lineares com coeficientes constantes de grau baixo (considerando grau menor que 20) o c´alculo num´erico dos autovalores mostrou-se superior a qualquer m´etodo desenvolvido nesse trabalho considerando tempo computacional e erro relativo para equa¸c˜oes de grau baixo; por´em para equa¸c˜oes de grau alto pode-se considerar re- solver a EDO atrav´es do m´etodo da Suavidade, ou pelo m´etodo de Euler, visto que o tempo computacional para calcular os autovalores de uma matriz cresce muito mais rapi- damente que o tempo para realizar as opera¸c˜oes elementares de uma itera¸c˜ao do m´etodo da Suavidade e do m´etodo de Euler.

Al´em disso, ´e uma boa escolha optar por resolver uma EDO linear com coeficientes constantes pelo c´alculo num´erico dos autovalores quando ´e necess´ario estudar todo o regime transit´orio da EDO, ademais quando esta possui um tempo de acomoda¸c˜ao muito alto devido a margem pequena de estabilidade. Em contrapartida quando o tempo de acomoda¸c˜ao for muito baixo ou quando for necess´ario estudar a solu¸c˜ao apenas em um intervalo pequeno os m´etodos da Suavidade e de Euler ser˜ao boas op¸c˜oes visto que o tempo computacional poder´a ser bem menor.

De toda forma o m´etodo da Suavidade mostra-se bastante ´util visto que resolve bem n˜ao s´o EDO lineares com coeficientes constantes como tamb´em EDO lineares com coefici- entes vari´aveis e o m´etodo da Suavidade resolve essas EDO’s com praticamente a mesma dificuldade de uma equa¸c˜ao com coeficientes constantes, a menos de avalia¸c˜oes das fun¸c˜oes que definem a EDO em cada itera¸c˜ao.

Ao comparar o m´etodo da Suavidade, apresentado nesse trabalho, com o m´etodo de Euler, um m´etodo cl´assico para resolu¸c˜ao de EDO’s numericamente foi visto que depen- dendo da necessidade de uma aproxima¸c˜ao melhor, tomando o valor de s alto, o m´etodo da Suavidade ser´a mais eficiente que o m´etodo de Euler, por´em quando se deseja uma aproxima¸c˜ao simples, quando o valor de s ´e baixo, o m´etodo de Euler ´e uma op¸c˜ao melhor. Nessa disserta¸c˜ao foi feito um trabalho preliminar com o m´etodo da Suavidade, reali- zando uma descri¸c˜ao do m´etodo, uma implementa¸c˜ao dele e an´alises num´ericas compara- tivas com outros m´etodos. Por´em alguns resultados importantes n˜ao foram determinados como: c´alculo de n´umero de opera¸c˜oes e avalia¸c˜oes em fun¸c˜ao do grau da EDO e do n´umero de passos; um limitante superior do erro relativo acumulado, como fun¸c˜ao da malha; e uma compara¸c˜ao rigorosa com os outros m´etodos (incluindo m´etodos de Runge-Kutta de maior ordem), que leve em considera¸c˜ao simultaneamente o erro e a complexidade (tempo computacional). Esses resultados tornariam o m´etodo mais significativo e s˜ao poss´ıveis caminhos para a continuidade do estudo do tema.

Propriedades B´asicas da

Transformada de Laplace

A Transformada de Laplace de uma fun¸c˜ao satisfaz as seguintes propriedades: p1 : L[a1y1 + a2y2] = a1L[y1] + a2L[y2], (linearidade)

p2 : L[y(k)] = skL[y] − sk−1y(0) − sk−2y(1)(0) − ... − sy(k−2)(0) − y(k−1)(0)

p3 : L[e−at] =

1 s + a

onde a, a1, a2 ∈ C e y, y1 e y2 s˜ao fun¸c˜oes definidas para todo t ≥ 0 e y(i) denota a

i-´esima derivada de y.

A linearidade da Tranformada de Laplace ´e herdada da linearidade da integral de uma fun¸c˜ao.

A propriedade p2pode ser demonstrada com o princ´ıpio da indu¸c˜ao finita, basta aplicar

a integra¸c˜ao por partes. Para k = 1, temos L[y(1)] = ∫ ∞ 0 e−sty(1)(t)dt = e−sty(t) ∞ 0 − ∫ ∞ 0 −se −sty(t)dt = −y(0) + s ∫ ∞ 0

e−sty(t)dt = sL[y] − y(0). 84

Agora suponha que a propriedade ´e v´alida para k = n − 1, ou seja,

L[y(n−1)] = sn−1L[y] − sn−2y(0) − sn−3y(1)(0) − ... − sy(n−3)(0) − y(n−2)(0) assim L[y(n)] = ∫ ∞ 0 e−sty(n)(t)dt = e−sty(n−1)(t) ∞ 0 − ∫ ∞ 0 −se −sty(n−1)(t)dt = −y(n−1)(0) + s ∫ ∞ 0 e−sty(n−1)(t)dt = sL[y(n−1)] − y(n−1)(0) = sn L[y] − sn−1y(0) − sn−2y(1)(0) − ... − sy(n−2)(0) − y(n−1)(0).

A propriedade p3 pode ser verificada calculando L(e−at) diretamente da defini¸c˜ao de

Transformada de Laplace, ou seja, se Re(s + a) > 0 L[e−at] = ∫ ∞ 0 e−ste−atdt = ∫ ∞ 0 e−(s+a)tdt = 1 s + a.

Para mais detalhes sobre a solu¸c˜ao de EDOs Lineares com coeficientes constantes ver Madureira [8].

Estabilidade Assint´otica de EDOL’s

com Coeficientes Constantes

Proposi¸c˜ao B.1. Se a parte real de todos os autovalores da EDO 1.7 ´e negativa, ent˜ao quando t → ∞ sua solu¸c˜ao converge para 1/a0.

Demonstra¸c˜ao. Se a parte real de todos os autovalores da EDO 1.7 ´e negativa ent˜ao cada parcela Akeλkt ´e uma fun¸c˜ao que converge para zero, pois escrevendo λk = ck+ dki

onde ck, dk ∈ R, temos, pela identidade de Euler, que

Akeλkt = Akeckt(cos(dkt) + isen(dkt))

mas Ak(cos(dkt) + isen(dkt)) ´e uma fun¸c˜ao limitada e eckt converge para zero, ent˜ao

lim

t→∞Ake

λkt = 0

e como Akeλkt converge para zero, para k = 1, 2, . . . , n ent˜ao, pela proposi¸c˜ao 1.4, temos

lim

t→∞y(t) = A0.

Proposi¸c˜ao B.2. Se a parte real de um dos autovalores da EDO 1.7 ´e positiva ent˜ao quando t → ∞ sua solu¸c˜ao diverge.

Demonstra¸c˜ao. Seja λ1 = c1+ d1i, λ2 = c2+ d2i, . . ., λn = cn+ dni os autovalores da

EDO, organizados de modo que c1 ≥ c2 ≥ . . . ≥ cn e se c1 > 0 (hip´otese), de acordo com

o corol´ario 1.1 podemos escrever a solu¸c˜ao dessa EDO na forma y(t) = A0+ n ∑ k=1 eckt(u kcos(dkt) + vksen(dkt)).

suponha que λ1 = λ2, ou seja, que λ1 ∈ R (a demonstra¸c˜ao para λ/ 1 ̸= λ2 ´e similar). Pela

proposi¸c˜ao 1.2 temos u1 = u2 e v1 = −v2 logo

y(t) = A0+ ec1t(v1cos(d1t) + v1sen(d1t) + n ∑ k=3 e(ck−c1)t(u kcos(dkt) + vksen(dkt))) e como e(ck−c1)t → 0 quando t → ∞ e (u

kcos(dkt) + vksen(dkt)) ´e limitado para todo

k = 3, 4, . . . , n, ent˜ao quando t → ∞ e(ck−c1)t(u

kcos(dkt) + vksen(dkt)) → 0, para k = 3, 4, . . . , n

logo

lim

t→∞y(t) = A0+ limt→∞e c1t(v

1cos(d1t) + v1sen(d1t))

e portanto y(t) diverge.

Para mais detalhes sobre a solu¸c˜ao de EDOs Lineares com coeficientes constantes ver Boyce e DiPrima [2].

Programa¸c˜ao no MATLAB

Todos os resultados em que houve necessidade de c´alculo computacional nesse trabalho (incluindo todos os gr´aficos apresentados) foram determinados a partir de programa¸c˜ao usando o software Matlab v7.8.0.347 (R2009a) 64 bit em um sistema windows 7 (seven). Um referencial pr´atico para desenvolver a programa¸c˜ao, os gr´aficos e realizar alguns c´alculos desse trabalho pode ser encontrado em Ogata [11]. Em Mathews [9] pode-se en- contrar resultados sobre a parte te´orica de alguns desses c´alculos como m´etodos num´ericos para a resolu¸c˜ao de equa¸c˜oes diferenciais e o m´etodo da potˆencia.

Segue a programa¸c˜ao de alguns algoritmos apresentados nesse trabalho na linguagem MATLAB:

1. Resolu¸c˜ao do problema de resposta a degrau; 2. M´etodo da Potˆencia (Cl´assico);

3. M´etodo da Potˆencia (Adaptado); 4. M´etodo de Euler;

5. M´etodo da Suavidade.

1 - Resolu¸c˜ao do problema de resposta a degrau

% --- % C´odigo para resolver uma EDO linear com coeficientes constantes a = [1 6 538]; u = [0 1]; TF = tf(u,a); [y,t] = step(TF); plot(t,y,’b’); xlabel(’t’); ylabel(’amplitude’); % ---

2 - M´etodo da Potˆencia (Cl´assico)

% --- function av = metPot(A,nInt)

% M´etodo da Pot^encia aplicada a Matriz A if (nargin < 2) nInt = 50; end

n = length(A); x = rand(n,1)+i*rand(n,1); y = x; for k=1:1:nInt xaux = x(:,k); yaux = y(:,k); yprox = (1/max(xaux))*xaux; xprox = A*yprox; x = [x xprox]; y = [y yprox]; end av = real((xprox’*yprox)/(yprox’*yprox)); end % ---

3 - M´etodo da Potˆencia (Adaptado)

% --- function lk = metPotAdap(A,nInt)

% M´etodo da Pot^encia Adaptado aplicada a Matriz A if (nargin < 2) nInt = 50; end

n = length(A); u = zeros(nInt,n); N = zeros(nInt,1); u(1,:) = rand(n,1); u(1,:) = [0.1808 0.2456 0.7964 0.8558]; N(1) = 1/norm(u(1,:)); u(1,:) = u(1,:)*N(1); for i=2:1:nInt u(i,:) = A*u(i-1,:)’; N(i) = 1/norm(u(i,:)); u(i,:) = u(i,:)*N(i); end z0 = u(nInt,:)’; z1 = A*z0; z2 = A*z1; R = [z0(1) z1(1); z0(2) z1(2)]; solve = R\[z2(1);z2(2)]; a = solve(1); b = solve(2); parteReal = b/2; parteImaginaria = sqrt(b^2 + 4*a)/2; lk = parteReal + parteImaginaria; end % ---

4 - M´etodo de Euler

% --- function [xvalues, yvalues] = euler(f,x0,xn,y0,s)

% M´etodo de Euler para resolver EDO’s dx = (xn-x0)/s; x = x0:dx:xn-dx; n = length(y0); y = zeros(s,n); y(1,:) = y0; for k=1:1:s-1

y(k+1,:)= y(k,:) + f(y(k,:),x(k))*dx; end

xvalues = x’; yvalues = y(:,1); end

5 - M´etodo da Suavidade

% --- function V = metodoSuavidade(f,r,x0,xf,y0,s)

% O M´etodo da Suavidade retorna um vetor V com os coeficientes do Spline h = (xf-x0)/s; x = linspace(x0,xf,s+1); n = length(y0); v(1,:) = [(r(0) - sum(y0))/factorial(n) y0(n:-1:1)]; N = zeros(n+1,n+1); for i=1:1:n+1 for j=1:1:i N(i,j) = (-h)^(i-j)*nchoosek(n-j+1,i-j); end end u(1,:) = N(:,1)’; for k = 2:1:s F = f(x(k)); v(k,:) = v(k-1,:) + ((r(x(k)) - F*v(k-1,:)’)/(F*u(k-1,:)’))*u(k-1,:); u(k,:) = N*u(k-1,:)’; end V = v; end % ---

[1] AHLBERG, J. H., NILSON, E. N. e WALSH, J. L. The Theory of Splines and Their Applications, vol. 38. Editora Academic Press Inc, New York, 1967.

[2] BOYCE, William E. e DiPRIMA, Richard C. Elementary differential equations and boundary value problems, 7 ed. Ed. Wiley, 2000.

[3] BURDEN, Richard L. e FAIRES, J. Douglas. An´alise Num´erica, 1 ed. Editora Thomson, 2003

[4] COHEN, Nir e LEWKOWICZ, Izchak, The Lyapunov Order for Real Matrices. Linear Algebra Appl. 2009.

[5] GOLUB, Gene H. e VAN LOAN, Charles F. Matrix Computations, 3 ed. Editora The Johns Hopkins University Press, Baltimore, 1996.

[6] HORN, Roger A. e JOHNSON, Charles R. Matrix Analysis, Cambridge University Press, 1985.

[7] LATHI, Bhagawandas P. Sinais e Sistemas Lineares, 2 ed. Editora Artmed, S˜ao Paulo, 2004.

[8] MADUREIRA, Lu´ısa. Problemas de Equa¸c˜oes Diferenciais Ordin´arias e Transformadas de Laplace, vol. 3. Editora FEUP Edi¸c˜oes, Porto, 2010.

[9] MATHEWS, John H. Numerical Methods: MATLAB Programs, 1995.

[10] OGATA, Katsuhiko. Engenharia de Controle Moderno., 3 ed. Rio de Janeiro, LTC, 2000.

[11] OGATA, Katsuhiko. Matlab For Control Enginners, 1. ed. Editora Prentice Hall, 2008.

[12] POOLE, David. Linear Algebra: A Modern Introduction, 3 ed. Editora Brooks Cole, 2010.

[13] WATKINS, David S. Fundamentals of Matrix Computations, John Wiley & Sons, NY, 1991.

Documentos relacionados