Logo Passei Direto
Material
Study with thousands of resources!

Text Material Preview

Universidade Federal do ABC
Cálculo Numérico
Prof. Dr. André Pierro de Camargo
LISTA 2
Alunos (Grupo 6):
Danilo Cardoso França
Deborah Gonçalves Fabri
Maria Eduarda V. Lima
Rudah Lages Nascimento
Larissa Sonza dos Santos
RA
11000616
11012216
11028016
11002816
11047715
16 de Dezembro de 2018
1 Primeiro Exerćıcio
1.1 Matriz e o vetor de termos independentes do sis-
tema
Temos os valores da matriz:〈f1, f1〉 〈f1, f2〉 〈f1, f3〉〈f2, f1〉 〈f2, f2〉 〈f2, f3〉
〈f3, f1〉 〈f3, f2〉 〈f3, f3〉
 =
 30 435 8555435 8555 189225
8555 189225 4463999

E que os vetores de termos independentes:〈f1, x〉〈f2, x〉
〈f3, x〉
 =
 1580, 633936, 4
788446, 6

1.2 Coeficientes do sistema
Temos também que os coeficientes do sistema obtidos são:α1α2
α3
 =
−0, 0496370, 970996
0, 135559

Observação: todas casas decimais pelo NetBeans IDE (Java)
1
1.3 Gráfico
Temos que a função (1) é f(t) = −0, 049637 + 0, 970996t + 0, 135559t2 ao
plotar a função junto com os pontos obtivemos que ela é o próprio ajuste
polinomial encontrada pelo método dos mı́nimos quadrados, confirmando
que o programa funcionou como esperado.
Figure 1: Gráfico dos dados amostrais utilizados e a função de mı́nimos
quadrados obtida
No gráfico acima podemos perceber a trajetória do gráfico dos dados
amostrais em bolinhas maiores sobreposto com o gráfico da função f(t) em
bolinhas pequenas.
2
2 Segundo Exerćıcio
2.1 2.2.1
n eq cheb
2 0,9615384615384610 0,9615384615384610000
3 0,6462292672290210 0,6462292672290210000
4 0,7070135746606330 0,8289124668435010000
5 0,4383571344600230 0,4599809026839550000
6 0,4326923076923070 0,6386413798741110000
7 0,6169477692416500 0,3111949710346950000
8 0,2473586065593140 0,4596053247740350000
9 1,0451765283125800 0,2046825174162440000
10 0,3002976812310450 0,3190952547347730000
11 1,9156570975796300 0,1321974272030410000
12 0,5567747428936340 0,2177056172348010000
13 3,66338687584329 0,0843966140850293000
14 1,07010505579867 0,1473232595238350000
15 7,19487822902916 0,0535090213131617000
16 2,10755642685471 0,0993218579519419000
17 14,39384350354460 0,0367129405371400000
18 4,22428765384955 0,0668463301235798000
19 29,19057842822420 0,0257169125178070000
20 8,57909065866618 0,0449546476885306000
21 59,82186148511220 0,0177378047795643000
22 17,60195018352200 0,0302217610279513000
23 123,62327787213700 0,0120901699158497000
24 36,40973110328250 0,0203140396629261000
25 257,21300419226500 0,0081657458099949600
26 75,81694171898690 0,0136534313706021000
27 538,17611909045000 0,0054762839008963800
28 158,74844420209500 0,0091764207223496900
29 1131,41872816431000 0,0036525264723688000
30 333,94146928606000 0,0061673485518688400
31 2388,28352589541000 0,0024257838861388900
32 705,29739334192400 0,0041449644631267300
33 5059,02051970623 0,0016181894007271100
34 1494,703113319655 0,0027857480688839800
3
35 10749,236748565814 0,0011017782918379400
36 3177,28043958799 0,0018722432846569600
37 22901,02133937960 0,0007470055243283810
38 6771,78224332954 0,0012582949728097100
39 48907,31020544010 0,0005046520224958880
40 14466,83453709490 0,0008456731119004240
41 104665,74260449400 0,0003398757364446720
42 30971,07450528820 0,0005683587228242350
43 224430,43259179600 0,0002283028599816550
44 66428,57140021220 0,0003819816607680820
45 482046,33019242500 0,0001530101534136240
46 142721,92398333900 0,0002567216436034630
47 1037089,67860226000 0,0001023510681364960
48 307122,68955323300 0,0001725370830895070
49 2234242,03452858000 0,0000683510648501473
50 661820,47083893500 0,0001159584539487390
Figure 2: Gráfico de n x log(eq) e n x log(cheb)
Do gráfico, é posśıvel dizer que tanto Eq quanto Cheb são lineares. Eq
cresce e cheb decresce.
4
Figure 3: Valores de Eq e Cheb para n = 10,20,30,40,50
2.2 2.2.2
Foi feita uma mudança no código:
1
2 public static double RungeFunction(double x) //
F u n o dada pelo e x e r c c i o
3 {
4 return Math.sin(x);
5 }
Erros máximos
n=2; Eq: 0.05999375855386757, Cheb: 0.05999375855386757
n=3; Eq: 0.05999375855386746, Cheb: 0.05999375855386746
n=4; Eq: 0.0012181684680384608, Cheb: 9.031432233583825E-4
n=5; Eq: 9.031432233584935E-4, Cheb: 9.302853260387822E-4
n=6; Eq: 1.1630866766698666E-5, Cheb: 5.767050057281509E-6
n=7; Eq: 8.415077161871842E-6, Cheb: 5.825332017206364E-6
n=8; Eq: 7.005136726245809E-8, Cheb: 2.0491357610730176E-8
n=9; Eq: 5.054492124845211E-8, Cheb: 2.0639931180843618E-8
n=10; Eq: 2.9020363889742384E-10, Cheb: 4.725175806186144E-11
n=11; Eq: 2.0955792656707217E-10, Cheb: 4.740516312828902E-11
n=12; Eq: 8.774092563612612E-13, Cheb: 7.671641100159832E-14
n=13; Eq: 6.361577931102147E-13, Cheb: 7.66053886991358E-14
n=14; Eq: 1.2989609388114332E-14, Cheb: 8.881784197001252E-16
n=15; Eq: 1.7541523789077473E-14, Cheb: 1.1102230246251565E-15
n=16; Eq: 3.097522238704187E-14, Cheb: 1.1102230246251565E-15
n=17; Eq: 5.218048215738236E-14, Cheb: 8.881784197001252E-16
n=18; Eq: 1.163513729807164E-13, Cheb: 1.1102230246251565E-15
n=19; Eq: 1.751931932858497E-13, Cheb: 9.992007221626409E-16
5
n=20; Eq: 2.9043434324194095E-13, Cheb: 8.881784197001252E-16
n=21; Eq: 5.184741524999481E-13, Cheb: 1.5543122344752192E-15
n=22; Eq: 1.0306200337595328E-12, Cheb: 1.5543122344752192E-15
n=23; Eq: 1.8184342920335439E-12, Cheb: 1.4432899320127035E-15
n=24; Eq: 3.3091307471977416E-12, Cheb: 1.3322676295501878E-15
n=25; Eq: 6.674882868651366E-12, Cheb: 1.2212453270876722E-15
n=26; Eq: 1.3333556481143205E-11, Cheb: 1.3322676295501878E-15
n=27; Eq: 2.7505553390483328E-11, Cheb: 1.3322676295501878E-15
n=28; Eq: 4.97250018938189E-11, Cheb: 1.5543122344752192E-15
n=29; Eq: 7.309308713843166E-11, Cheb: 1.6653345369377348E-15
n=30; Eq: 1.513634773075978E-10, Cheb: 1.1102230246251565E-15
n=31; Eq: 2.267175336356786E-10, Cheb: 1.2212453270876722E-15
n=32; Eq: 5.806753966552947E-10, Cheb: 1.5543122344752192E-15
n=33; Eq: 8.392221362285568E-10, Cheb: 1.4432899320127035E-15
n=34; Eq: 1.6872770958187289E-9, Cheb: 1.5543122344752192E-15
n=35; Eq: 3.3875108274017407E-9, Cheb: 1.7763568394002505E-15
n=36; Eq: 5.444851791658323E-9, Cheb: 1.5543122344752192E-15
n=37; Eq: 1.1925206711005387E-8, Cheb: 1.887379141862766E-15
n=38; Eq: 3.3617579053846214E-8, Cheb: 1.6653345369377348E-15
n=39; Eq: 5.596403396257443E-8, Cheb: 1.887379141862766E-15
n=40; Eq: 1.0717024889750348E-7, Cheb: 1.4432899320127035E-15
n=41; Eq: 1.615180922343029E-7, Cheb: 1.887379141862766E-15
n=42; Eq: 3.7157818155719724E-7, Cheb: 1.5543122344752192E-15
n=43; Eq: 5.835096965611797E-7, Cheb: 2.220446049250313E-15
n=44; Eq: 1.349485743928902E-6, Cheb: 2.55351295663786E-15
n=45; Eq: 2.4814586120358584E-6, Cheb: 2.220446049250313E-15
n=46; Eq: 5.104935364430574E-6, Cheb: 1.5543122344752192E-15
n=47; Eq: 1.0295438201302076E-5, Cheb: 1.7763568394002505E-15
n=48; Eq: 2.0895368311624196E-5, Cheb: 1.7763568394002505E-15
n=49; Eq: 3.014201515949555E-5, Cheb: 2.220446049250313E-15
n=50; Eq: 6.011946138384516E-5, Cheb: 1.887379141862766E-15
Valores que serão plotados
n=2; Eq: -2.443787858119692, Cheb: -2.443787858119692
n=3; Eq: -3.665681787179541, Cheb: -3.665681787179541
n=4; Eq: -11.657170585137548, Cheb: -12.176973489634403
n=5; Eq: -15.221216862042734, Cheb: -15.156919146911527
n=6; Eq: -29.606327514913453, Cheb: -31.43427767370199
6
n=7; Eq: -35.52459328191091, Cheb: -36.64275521762097
n=8; Eq: -57.23666706989263, Cheb: -61.50743413920652
n=9; Eq: -65.66690228194729, Cheb: -69.16762579588732
n=10; Eq: -95.37297146194757, Cheb: -103.25582028374585
n=11; Eq: -106.46565497975968, Cheb: -113.56591790073887
n=12; Eq: -144.68157345902134, Cheb: -157.38134067380165
n=13; Eq: -158.55365692690697, Cheb: -170.5046288328987
n=14; Eq: -194.40965471822778, Cheb: -210.72099696478682
n=15; Eq: -206.33899024854873, Cheb: -224.31884655286504
n=16; Eq: -216.1437690706785, Cheb: -239.27343632305605
n=17; Eq: -225.80236250833988, Cheb: -255.875496314384
n=18; Eq: -232.81611277577932, Cheb: -269.18261586343806
n=19; Eq: -242.37317265503444, Cheb: -285.00659795428186
n=20; Eq: -250.73904061077548, Cheb:-301.0299956639812
n=21; Eq: -257.9907306821227, Cheb: -310.97769642476806
n=22; Eq: -263.7118312342292, Cheb: -325.78615815928083
n=23; Eq: -270.02695490745384, Cheb: -341.3348676113358
n=24; Eq: -275.52686575378664, Cheb: -357.00980457944104
n=25; Eq: -279.3889087732221, Cheb: -372.82992712581944
n=26; Eq: -282.7514038716337, Cheb: -386.7606216277278
n=27; Eq: -285.1356495498357, Cheb: -401.6360301518712
n=28; Eq: -288.49590536656547, Cheb: -414.6369285663574
n=29; Eq: -293.94758715479304, Cheb: -428.57645682292434
n=30; Eq: -294.5993671104524, Cheb: -448.6376931057301
n=31; Eq: -298.9799616388936, Cheb: -462.3091096360161
n=32; Eq: -295.55413039135675, Cheb: -473.87077550440847
n=33; Eq: -299.5120612850379, Cheb: -489.74133179017747
n=34; Eq: -298.2756620204832, Cheb: -503.487698973434
n=35; Eq: -296.45417577974007, Cheb: -516.2664425637278
n=36; Eq: -297.5045017392473, Cheb: -533.1046224424596
n=37; Eq: -293.1707611147071, Cheb: -544.793211406071
n=38; Eq: -283.9904754768434, Cheb: -561.5829434231422
n=39; Eq: -282.83154855242026, Cheb: -574.2414931036964
n=40; Eq: -278.7970304263703, Cheb: -593.6258567153666
n=41; Eq: -278.4629317712605, Cheb: -603.6897748013218
n=42; Eq: -270.0578913886432, Cheb: -621.9553928495361
n=43; Eq: -268.05993267197215, Cheb: -630.103070304662
n=44; Eq: -258.2725947561545, Cheb: -642.0859251036301
7
n=45; Eq: -252.2381833779391, Cheb: -659.410189853716
n=46; Eq: -243.43244860641533, Cheb: -681.1892397875872
n=47; Eq: -234.40569270430518, Cheb: -693.2720800141486
n=48; Eq: -224.63759852992172, Cheb: -708.0225498016837
n=49; Eq: -221.52055808772496, Cheb: -718.024428951824
n=50; Eq: -211.04924594772933, Cheb: -736.2070424406364
Figure 4: Gráfico de Eq/Cheb para f(x) = sen(x)
N Eq Cheb
10 -95,3729714619475 -103,2558202837450
20 -250,7390406107750 -301,0299956639810
30 -294,5993671104520 -448,6376931057300
40 -278,7970304263700 -593,6258567153660
50 -211,0492459477290 -736,2070424406360
Table 1: Tabela com os valores para n=10,20,30,40,50
Podemos perceber através do gráfico acima que com o aumento do N,
o Cheb tende a diminuir quase que proporcionalmente. Com isso, pode-
mos dizer que N e Cheb são inversamente proporcionais entre si. Já Eq se
assemelha com uma parábola com o aumento de N.
8
2.3 2.2.3
Resultado dos Erros pelo Lagrange
n=2 Cheb: 0.05999375855386757
n=3 Cheb: 0.05999375855386746
n=4 Cheb: 9.031432233583825E-4
n=5 Cheb: 9.302853260387822E-4
n=6 Cheb: 5.767050057281509E-6
n=7 Cheb: 5.825332017206364E-6
n=8 Cheb: 2.0491357610730176E-8
n=9 Cheb: 2.0639931180843618E-8
n=10 Cheb: 4.725175806186144E-11
n=11 Cheb: 4.740516312828902E-11
n=12 Cheb: 7.671641100159832E-14
n=13 Cheb: 7.66053886991358E-14
n=14 Cheb: 8.881784197001252E-16
n=15 Cheb: 1.1102230246251565E-15
n=16 Cheb: 1.1102230246251565E-15
n=17 Cheb: 8.881784197001252E-16
n=18 Cheb: 1.1102230246251565E-15
n=19 Cheb: 9.992007221626409E-16
n=20 Cheb: 8.881784197001252E-16
n=21 Cheb: 1.5543122344752192E-15
n=22 Cheb: 1.5543122344752192E-15
n=23 Cheb: 1.4432899320127035E-15
n=24 Cheb: 1.3322676295501878E-15
n=25 Cheb: 1.2212453270876722E-15
n=26 Cheb: 1.3322676295501878E-15
n=27 Cheb: 1.3322676295501878E-15
n=28 Cheb: 1.5543122344752192E-15
n=29 Cheb: 1.6653345369377348E-15
n=30 Cheb: 1.1102230246251565E-15
n=31 Cheb: 1.2212453270876722E-15
n=32 Cheb: 1.5543122344752192E-15
n=33 Cheb: 1.4432899320127035E-15
n=34 Cheb: 1.5543122344752192E-15
n=35 Cheb: 1.7763568394002505E-15
n=36 Cheb: 1.5543122344752192E-15
9
n=37 Cheb: 1.887379141862766E-15
n=38 Cheb: 1.6653345369377348E-15
n=39 Cheb: 1.887379141862766E-15
n=40 Cheb: 1.4432899320127035E-15
n=41 Cheb: 1.887379141862766E-15
n=42 Cheb: 1.5543122344752192E-15
n=43 Cheb: 2.220446049250313E-15
n=44 Cheb: 2.55351295663786E-15
n=45 Cheb: 2.220446049250313E-15
n=46 Cheb: 1.5543122344752192E-15
n=47 Cheb: 1.7763568394002505E-15
n=48 Cheb: 1.7763568394002505E-15
n=49 Cheb: 2.220446049250313E-15
n=50 Cheb: 1.887379141862766E-15
n=51 Cheb: 1.7763568394002505E-15
n=52 Cheb: 2.3314683517128287E-15
n=53 Cheb: 1.6653345369377348E-15
n=54 Cheb: 2.1094237467877974E-15
n=55 Cheb: 2.220446049250313E-15
n=56 Cheb: 2.1094237467877974E-15
n=57 Cheb: 2.7755575615628914E-15
n=58 Cheb: 2.220446049250313E-15
n=59 Cheb: 1.6653345369377348E-15
n=60 Cheb: 1.6653345369377348E-15
n=61 Cheb: 1.887379141862766E-15
n=62 Cheb: 2.1094237467877974E-15
n=63 Cheb: 2.220446049250313E-15
n=64 Cheb: 1.9984014443252818E-15
n=65 Cheb: 2.55351295663786E-15
n=66 Cheb: 1.887379141862766E-15
n=67 Cheb: 2.220446049250313E-15
n=68 Cheb: 2.1094237467877974E-15
n=69 Cheb: 2.6645352591003757E-15
n=70 Cheb: 2.3314683517128287E-15
n=71 Cheb: 2.220446049250313E-15
n=72 Cheb: 3.552713678800501E-15
n=73 Cheb: 1.9984014443252818E-15
n=74 Cheb: 2.7755575615628914E-15
10
n=75 Cheb: 2.4424906541753444E-15
n=76 Cheb: 2.7755575615628914E-15
n=77 Cheb: 2.4424906541753444E-15
n=78 Cheb: 2.55351295663786E-15
n=79 Cheb: 2.220446049250313E-15
n=80 Cheb: 2.55351295663786E-15
n=81 Cheb: 2.55351295663786E-15
n=82 Cheb: 2.4424906541753444E-15
n=83 Cheb: 2.220446049250313E-15
n=84 Cheb: 2.6645352591003757E-15
n=85 Cheb: 2.6645352591003757E-15
n=86 Cheb: 2.55351295663786E-15
n=87 Cheb: 2.6645352591003757E-15
n=88 Cheb: 2.3314683517128287E-15
n=89 Cheb: 2.220446049250313E-15
n=90 Cheb: 1.9984014443252818E-15
n=91 Cheb: 2.6645352591003757E-15
n=92 Cheb: 3.1086244689504383E-15
n=93 Cheb: 2.55351295663786E-15
n=94 Cheb: 2.220446049250313E-15
n=95 Cheb: 2.1094237467877974E-15
n=96 Cheb: 2.4424906541753444E-15
n=97 Cheb: 2.886579864025407E-15
n=98 Cheb: 3.3306690738754696E-15
n=99 Cheb: 2.1094237467877974E-15
n=100 Cheb: 2.55351295663786E-15
Resultado dos Erros por Newton
n=2 Cheb: 0.05999375855386757
n=3 Cheb: 0.059993758553867516
n=4 Cheb: 9.031432233583825E-4
n=5 Cheb: 9.302853260387822E-4
n=6 Cheb: 5.767050057503553E-6
n=7 Cheb: 5.825332017345142E-6
n=8 Cheb: 2.0491357499707874E-8
n=9 Cheb: 2.0639931125332467E-8
n=10 Cheb: 4.7251647039558975E-11
n=11 Cheb: 4.740507986156217E-11
11
n=12 Cheb: 7.682743330406083E-14
n=13 Cheb: 7.663314427475143E-14
n=14 Cheb: 6.661338147750939E-16
n=15 Cheb: 6.661338147750939E-16
n=16 Cheb: 6.661338147750939E-16
n=17 Cheb: 6.661338147750939E-16
n=18 Cheb: 6.661338147750939E-16
n=19 Cheb: 5.551115123125783E-16
n=20 Cheb: 6.661338147750939E-16
n=21 Cheb: 7.771561172376096E-16
n=22 Cheb: 6.661338147750939E-16
n=23 Cheb: 6.661338147750939E-16
n=24 Cheb: 6.661338147750939E-16
n=25 Cheb: 7.771561172376096E-16
n=26 Cheb: 7.771561172376096E-16
n=27 Cheb: 7.771561172376096E-16
n=28 Cheb: 7.771561172376096E-16
n=29 Cheb: 7.771561172376096E-16
n=30 Cheb: 8.881784197001252E-16
n=31 Cheb: 7.771561172376096E-16
n=32 Cheb: 7.771561172376096E-16
n=33 Cheb: 8.881784197001252E-16
n=34 Cheb: 7.771561172376096E-16
n=35 Cheb: 7.771561172376096E-16
n=36 Cheb: 8.881784197001252E-16
n=37 Cheb: 1.6653345369377348E-15
n=38 Cheb: 9.992007221626409E-16
n=39 Cheb: 7.771561172376096E-15
n=40 Cheb: 1.9761969838327786E-14
n=41 Cheb: 7.405187574249794E-14
n=42 Cheb: 1.1812772982011666E-13
n=43 Cheb: 1.4530598946294049E-12
n=44 Cheb: 3.269606807521086E-13
n=45 Cheb: 6.798672735897071E-12
n=46 Cheb: 2.907107887750726E-11
n=47 Cheb: 1.3605783166781293E-11
n=48 Cheb: 6.952112219238415E-10
n=49 Cheb: 4.599421954409877E-10
12
n=50 Cheb: 1.7183499068096353E-10
n=51 Cheb: 7.092750720083529E-9
n=52 Cheb: 3.9996309708634215E-8
n=53 Cheb: 6.780240247028502E-8
n=54 Cheb: 3.7440987432635353E-7
n=55 Cheb: 6.116835047365043E-7
n=56 Cheb: 1.1841672400425551E-6
n=57 Cheb: 2.0696581679024995E-5
n=58 Cheb: 2.1880513936922696E-5
n=59 Cheb: 7.623162719405663E-5
n=60 Cheb: 1.869820285992363E-4
n=61 Cheb: 0.002069405357375209
n=62 Cheb: 1.4167530269892925E-4
n=63 Cheb: 0.003930656806532262
n=64 Cheb: 0.03221788567802153
n=65 Cheb: 0.09678662051447495
n=66 Cheb: 0.13736819031288638
n=67 Cheb: 0.8575087269857538
n=68 Cheb: 1.1611672581783572
n=69 Cheb: 15.53209452155628
n=70 Cheb: 11.685829873280248
n=71 Cheb: 156.58757443536913
n=72 Cheb: 182.21245031614356
n=73 Cheb: 553.1357112352252
n=74 Cheb: 2470.386248589065
n=75 Cheb:472.8434310399252
n=76 Cheb: 38465.989963898544
n=77 Cheb: 30704.419164538827
n=78 Cheb: 196717.38116822718
n=79 Cheb: 361419.5053907233
n=80 Cheb: 4267324.661819108
n=81 Cheb: 4822104.763122913
n=82 Cheb: 4.710548469231567E7
n=83 Cheb: 4.077560464156439E7
n=84 Cheb: 3.2352560459809524E8
n=85 Cheb: 8.557904406768434E8
n=86 Cheb: 4.2546511890560637E9
n=87 Cheb: 5.252882012550456E9
13
n=88 Cheb: 3.0046385644776604E10
n=89 Cheb: 4.9693389037084564E10
n=90 Cheb: 1.720877354763722E11
n=91 Cheb: 7.00150633900874E11
n=92 Cheb: 9.873218986362789E11
n=93 Cheb: 1.3867184423739597E12
n=94 Cheb: 3.502781401319988E13
n=95 Cheb: 2.4734305408923138E14
n=96 Cheb: 3.197925808861016E14
n=97 Cheb: 6.819038625340199E14
n=98 Cheb: 4.4776674560034475E15
n=99 Cheb: 1.5268762773507636E16
n=100 Cheb: 5.88661146297628E16
Nota-se que os erros no algoritmo de newton são maiores.
3 Terceiro Exerćıcio
3.1 Tabela
log(h10) -1 log(ET10) -2,8441592 log(ES10) -6,0206949
log(h20) -1,30103 log(ET20) -3,4461649 log(ES20) -7,2244273
log(h30) -1,4771213 log(ET30) -3,7983374 log(ES30) -7,9287206
log(h40) -1,60206 log(ET40) -4,0482114 log(ES40) -8,4284504
log(h50) -1,69897 log(ET50) -4,2420298 log(ES50) -8,8160788
log(h60) -1,7781513 log(ET60) -4,4003914 log(ES60) -9,1327969
log(h70) -1,845098 log(ET70) -4,5342844 log(ES70) -9,4005813
log(h80) -1,90309 log(ET80) -4,650268 log(ES80) -9,6325451
log(h90) -1,9542425 log(ET90) -4,7525728 log(ES90) -9,8371547
log(h100) -2 log(ET100) -4,8440876 log(ES100) -10,020183
Table 2: valores log(hn), log(En) para f(x) = exp(x) (para En = ETn e
para En = ESn)
14
3.2 Gráficos
O método do mı́nimos quadrados foi utilizados para linearização. Queremos
minimizar o erro quadrático médio (S) das medidas, seja então um conjunto
finito de N medidas (xi, yi) com i ∈ N∗ variando de 1 a N. Definimos S como:
S =
N∑
i=1
∆Si =
∑
i=1
(y − yi)2
Tal que y = ax+b para encontrar os parâmetros a e b, podemos considerar
a equação anterior como de duas variáveis tal que para um par ordenado
(a, b) ser considerado um mı́nimo local é condição necessária que as derivadas
parciais δS
δa
= 0 e δS
δb
= 0. Para que o mı́nimo exista esta condição é necessária
e nos leva a um par de equações simplificadas:
a
N∑
i=1
x2i + b
N∑
i=1
xi =
N∑
i=1
xiyi
a
N∑
i=1
xi + bN =
N∑
i=1
yi
Das duas expressões isolamos e conseguimos extrair o valor dos parâmetros
a e b para encontrar a função aproximadora que queremos, finalmente:
a =
N
∑N
i=1 xiyi −
∑N
i=1 xi
∑N
i=1 yi
N
∑N
i=1 x
2
i − (
∑N
i=1 xi)
2
b =
N
∑N
i=1 x
2
i
∑N
i=1 yi −
∑N
i=1 xiyi
∑N
i=1 xi
NNi=1x
2
i − (
∑N
i=1 xi)
2
Este exerćıcio também foi realizado no Excel sendo x = log(h) e y =
log(ETn) para ETN e y = log(ESn) para ESn. Primeiro realizou-se o
somátorio, depois calculamos o denominador que é igual para ambas ex-
pressões e extráımos o valor de a e b para ETn e ESn que foi:
Coeficientes ETn ESn
a 1,999941 3,999576
b -0,844196 -2,020960
Table 3: Coeficientes a e b obitods para ET e ES pelo método dos mı́nimos
quadrados
15
Figure 5: Erro na regra dos trapézios para f(x) = exp(x)
Figure 6: Erro na regra de simpson para f(x) = exp(x)
Ao aproximar ambos os gráficos podemos ver os coeficientes de mı́nimos
quadrados obtidos com 6 casas decimais. Para o ET notamos que o co-
eficiente angular da reta obtida 1,99994 é próximo a 2 e que para ES o
16
coeficiente angular da reta obtida 3,999576 é próximo a 4, tal como esperado
já que, como enunciado:
log(En) = log(µ) + p log(n) pra En = µh
p tendo que pro ETn ≤ c1h2 e
ESn ≤ c2h4.
Figure 7: ET e o ajuste de mı́nimos quadrados
Figure 8: ES e o ajuste de mı́nimos quadrados
17
4 Códigos Utilizados
4.1 Código do primeiro exerćıcio
1 ackage javaapplication1;
2
3 import java.util.Scanner;
4
5
6 public class JavaApplication1 {
7
8 public static void main(String [] args) {
9
10 Scanner scan = new Scanner(System.in);
11
12 //CRIA TABELA
13 System.out.println("Entre com valor de n+1:");
14 int n = scan.nextInt ();
15 double [][] Tabela = new double [2][30];
16
17 System.out.println("Entre com os valores:");
18 for(int i=0;i<2;i++){
19 for(int j=0;j<n;j++){
20 Tabela[i][j]=scan.nextDouble ();
21 }
22 }
23
24 // C O N S T R U O DA MATRIZ //
25 double [][] matrizF = new double [3][3];
26
27 matrizF [0][0]= 30;
28 double somaum =0;
29 for(int q=0; q<30; q++){
30
31 somaum=somaum+Tabela [0][q];
32
33 }
34
35 matrizF [0][1]= somaum;
36 matrizF [1][0]= somaum;
18
37 double somadois =0;
38 for(int w=0; w<30; w++){
39
40 somadois =( somadois +( Tabela [0][w]* Tabela [0][w]));
41
42 }
43
44 matrizF [0][2]= somadois;
45 matrizF [2][0]= somadois;
46 matrizF [1][1]= somadois;
47 double somatres =0;
48 for(int e=0; e<30; e++){
49
50 somatres =( somatres +( Tabela [0][e]* Tabela [0][e]*
Tabela [0][e]));
51
52 }
53
54 matrizF [1][2]= somatres;
55 matrizF [2][1]= somatres;
56 double somaquatro =0;
57 for(int r=0; r<30; r++){
58
59 somaquatro =( somaquatro +( Tabela [0][r]* Tabela [0][r
]* Tabela [0][r]* Tabela [0][r]));
60
61 }
62
63 matrizF [2][2]= somaquatro;
64
65 // C O N S T R U O DO VETOR DE TERMOS INDEPENDENTES //
66 double [][] matrizFX=new double [3][1];
67
68 double soma1 =0;
69
70 for(int t=0;t<30;t++){
71
72 soma1=soma1+Tabela [1][t];
73 }
74 matrizFX [0][0]= soma1;
19
75 double soma2 =0;
76 for (int y=0;y<30;y++){
77
78 soma2 =(soma2 +( Tabela [0][y]* Tabela [1][y]));
79 }
80 matrizFX [1][0]= soma2;
81 double soma3 =0;
82 for(int u=0;u<30;u++){
83
84 soma3 =(soma3 +( Tabela [0][u]* Tabela [1][u]* Tabela
[0][u]));
85
86 }
87 matrizFX [2][0]= soma3;
88
89 // M T O D O DE GAUSS//
90
91 double mult=(-matrizF [1][0]) /( matrizF [0][0]);
92 matrizFX [1][0]= matrizFX [1][0]+( matrizFX [0][0]* mult
);
93 for(int p=0; p<3; p++){
94
95 matrizF [1][p]= matrizF [1][p]+( mult*matrizF [0][p
]);
96
97 }
98
99 double mult1=(-matrizF [2][0]) /( matrizF [0][0]);
100 matrizFX [2][0]= matrizFX [2][0]+( matrizFX [0][0]*
mult1);
101 for(int g=0; g<3; g++){
102
103 matrizF [2][g]= matrizF [2][g]+( matrizF [0][g]*
mult1);
104 }
105
106
107
108
109
20
110
111 double mult2=(-matrizF [2][1]) /( matrizF [1][1]);
112 matrizFX [2][0]= matrizFX [2][0]+( mult2*matrizFX [1][0]);
113 for(int a=0;a<3;a++){
114
115 matrizF [2][a]= matrizF [2][a]+( mult2*matrizF [1][a]);
116
117 }
118
119 double alfa3=matrizFX [2][0]/ matrizF [2][2];
120 double alfa2 =(( matrizFX [1][0] -( alfa3*matrizF [1][2]))/(
matrizF [1][1]));
121 double alfa1 =(( matrizFX [0][0] -( alfa2*matrizF [0][1]) -(
alfa3*matrizF [0][2]))/( matrizF [0][0]));
122
123
124
125
126
127
128
129 }
130 }
4.2 Código do segundo exerćıcio
1 public class JavaApplication17 {
2
3 private static double lagrangeBase(double [] xVal ,
double x, int n) // Calcula o valor de um
p o l i n m i o da base de lagrange em x
4 {
5 double ret = 1;
6 for (int i=0; i < xVal.length; i++)
7 {
8 if (i==n)
9 continue;
10 ret *= (x - xVal[i]) / (xVal[n] - xVal[i]);
11 }
12 return ret;
21
13 }
14
15 public static double lagrangeInterpolation(double []
xVal , double [] yVal , double x) // Calcula o
valor do polinomio de lagrange em x
16 {
17 double ret = 0;
18 for (int i=0; i < xVal.length; i++)
19 {
20 ret += yVal[i] * lagrangeBase(xVal , x, i);
21 }
22 return ret;
23 }
24
25 public static double max(double [] set) // Retorna
o maior valor de um array
26 {
27 double ret = 0;
28 for (int i=0; i < set.length; i++)
29 {
30 if (Math.abs(set[i]) > ret)
31 ret = Math.abs(set[i]);
32 }
33 return ret;
34 }
35
36 public static double RungeFunction(double x) //
F u n o dada pelo e x e r c c i o
37 {
38 return 1.0 / (1.0 + 25.0 * x * x );
39 }
40 public static void main(String [] args) {
41 Scanner scan = new Scanner(System.in);
42
43
44 for (int j=2; j<51; j++)
45 {
46 int n = j;
47 int k = n-1;
48 double [] xEq = new double[n];
22
49 double [] yEq = new double[n];50 double [] xCheb = new double[n];
51 double [] yCheb = new double[n];
52
53 for (int i=0; i<n; i++) // G e r a o dos
pares x e y para os n s igualmente
e s p a a d o s
54 {
55 xEq[i] = (2.0 * i / k) - 1.0;
56 yEq[i] =RungeFunction(xEq[i]);
57 }
58
59 for (int i=0; i<n; i++) // G e r a o dos
pares x e y para os n s de Chebyshev do
segundo tipo
60 {
61 xCheb[i] = Math.cos(Math.PI * i / k);
62 yCheb[i] = RungeFunction(xCheb[i]);
63 }
64
65 double [] eq = new double [10117];
66 double [] cheb = new double [10117];
67
68 for (int i=0; i <10117; i++)
69 {
70 double x = (2.0 * i / 10116) -1;
71 eq[i] = lagrangeInterpolation(xEq , yEq ,
x) - RungeFunction(x); //
Guarda no array o erro entre as duas
f u n e s
72 cheb[i] = lagrangeInterpolation(xCheb ,
yCheb , x) - RungeFunction(x);
73 }
74
75 System.out.println("n=" + j + "; Eq: " + max
(eq) + ", Cheb: " + max(cheb)); //
Imprime o erro maximo dos dois tipos de
n para cada n
23
***mudança do código para incluir as novas funções, acrescentou-se o
seguinte:
1 double EXQ = n* (Math.log10(max(eq)));
2 double EXC = n* (Math.log10(max(cheb)));
4.2.1 CÁLCULO DA FUNÇÃO E ERRO DE LAGRANGE
1 private static double lagrangeBase(double [] xVal , double
x, int n) // Calcula o valor de um p o l i n m i o da
base de lagrange em x
2 {
3 double ret = 1;
4 for (int i=0; i < xVal.length; i++)
5 {
6 if (i==n)
7 continue;
8 ret *= (x - xVal[i]) / (xVal[n] - xVal[i]);
9 }
10 return ret;
11 }
12
13 public static double lagrangeInterpolation(double []
xVal , double [] yVal , double x) // Calcula o
valor do polinomio de lagrange em x
14 {
15 double ret = 0;
16 for (int i=0; i < xVal.length; i++)
17 {
18 ret += yVal[i] * lagrangeBase(xVal , x, i);
19 }
20 return ret;
21 }
22
23 public static double max(double [] set) // Retorna
o maior valor de um array
24 {
25 double ret = 0;
26 for (int i=0; i < set.length; i++)
27 {
24
28 if (Math.abs(set[i]) > ret)
29 ret = Math.abs(set[i]);
30 }
31 return ret;
32 }
33
34 public static double F u n o (double x) // F u n o
dada pelo e x e r c c i o
35 {
36 return Math.sin(x);
37 }
38 public static void main(String [] args) {
39 Scanner scan = new Scanner(System.in);
40
41
42 for (int j=2; j <101; j++)
43 {
44 int n = j;
45 int k = n-1;
46
47 double [] xCheb = new double[n];
48 double [] yCheb = new double[n];
49
50
51 for (int i=0; i<n; i++) // G e r a o dos
pares x e y para os n s de Chebyshev do
segundo tipo
52 {
53 xCheb[i] = Math.cos(Math.PI * i / k);
54 yCheb[i] = F u n o (xCheb[i]);
55 }
56
57
58 double [] cheb = new double [10117];
59
60 for (int i=0; i <10117; i++)
61 {
62 double x = (2.0 * i / 10116) -1;
63 // Guarda no array o erro entre as
duas f u n e s
25
64 cheb[i] = lagrangeInterpolation(xCheb ,
yCheb , x) - F u n o (x);
65 }
66
67 System.out.println("n=" + j + " Cheb: " +
max(cheb)); // Imprime o erro maximo dos
dois tipos de n para cada n
68
69
70
71
72
73
74
75
76
77
78 }
79
80 }
4.2.2 CÁLCULO DO ERRO POR INTERPOLAÇÃO DE NEW-
TON
1 public static double [] dividedDifferences(double [] x,
double [] y)
2 {
3 double [][] m = new double[x.length ][x.length ];
4 for (int i=0; i < x.length; i++)
5 m[i][i] = y[i];
6 for (int j=1; j < x.length; j++)
7 for (int i=j-1; i >= 0; i--)
8 m[i][j] = ( m[i+1][j] - m[i][j-1] ) / (
x[j] - x[i] );
9
10 return m[0];
11 }
12
13 public static double newtonInterpolation(double [] xs
, double [] ys, double x)
14 {
26
15 double sum = 0;
16 double prod = 1;
17 double [] m = dividedDifferences(xs , ys);
18 for (int i=0; i < xs.length; i++)
19 {
20 sum += m[i] * prod;
21 prod *= x - xs[i];
22 }
23 return sum;
24 }
25
26 public static double max(double [] set) // Retorna
o maior valor de um array
27 {
28 double ret = 0;
29 for (int i=0; i < set.length; i++)
30 {
31 if (Math.abs(set[i]) > ret)
32 ret = Math.abs(set[i]);
33 }
34 return ret;
35 }
36
37 public static double F u n o (double x) // F u n o
dada pelo e x e r c c i o
38 {
39 return Math.sin(x);
40 }
41 public static void main(String [] args) {
42 Scanner scan = new Scanner(System.in);
43
44
45 for (int j=2; j <101; j++)
46 {
47 int n = j;
48 int k = n-1;
49
50 double [] xCheb = new double[n];
51 double [] yCheb = new double[n];
52
27
53
54 for (int i=0; i<n; i++) // G e r a o dos
pares x e y para os n s de Chebyshev do
segundo tipo
55 {
56 xCheb[i] = Math.cos(Math.PI * i / k);
57 yCheb[i] = F u n o (xCheb[i]);
58 }
59
60
61 double [] cheb = new double [10117];
62
63 for (int i=0; i <10117; i++)
64 {
65 double x = (2.0 * i / 10116) -1;
66 // Guarda no array o erro entre as
duas f u n e s
67 cheb[i] = newtonInterpolation(xCheb ,
yCheb , x) - F u n o (x);
68 }
69
70 System.out.println("n=" + j + " Cheb: " +
max(cheb));
28