Baixe o app para aproveitar ainda mais
Prévia do material em texto
Espectroscopia Estrutura da mate´ria 1 ; Turma 2 . Alunos: Pedro Ventura Paraguassu´ , Juan B.de.S.Leite e Victor de Jesus Valada˜o UERJ-IFADT-DFNAE CONTEU´DO ii Conteu´do 1 Introduc¸a˜o iii 2 Instrumental iii 3 O experimento iv 3.1 Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv 3.2 Espectro do He´lio e do Mercu´rio e a Reta de calibrac¸a˜o . . . . . . . v 3.2.1 Helio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 3.2.2 Me´rcurio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v 3.2.3 Reta de calibrac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . vi 3.3 Espectro de Hidrogeˆnio . . . . . . . . . . . . . . . . . . . . . . . . . ix 3.3.1 Constante de Rydberg . . . . . . . . . . . . . . . . . . . . . xi 4 Questo˜es Propostas xiii 5 Conclusa˜o xiv 6 Bibliografia xvi 7 APEˆNDICE 1 :Programas xvi 7.1 Programa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi 7.2 Programa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix 7.3 Programa 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxiv 1 INTRODUC¸A˜O iii 1 Introduc¸a˜o Segundo a mecaˆnica quaˆntica um ele´tron ao mudar seu n´ıvel de energia de um maior para um menor , ele libera um fo´ton com valor de energia exatamente igual a diferenc¸a de energia entre as o´rbitas. Ao aquecer uma laˆmpada de ga´s monoatoˆmico podemos estudar a luz emitida, fazendo-a passar em um prisma ou rede de difrac¸a˜o, podendo assim determinar o espectro (pelo menos o vis´ıvel) da luz emitida por esse ga´s. Podemos enta˜o atrave´s da Se´rie de Balmer dada por 1 λn = R( 1 22 − 1 n2 );n ≥ 3 -onde λn e´ o comprimento de onda associado a raia de n´ıvel n e R e´ a constante de Rydberg- , ajustar uma reta para medir a constante de Rydberg. No nosso experimento , queremos medir essa constante atrave´s do espectro de hidrogeˆnio . 2 Instrumental Em todo o experimento usamos • 3 Lampadas a vapor , cada qual de he´lio , mercu´rio e hidrogeˆnio • Espectrosco´pio • Rede de difrac¸a˜o Figura 1: Banca com os instrumentos . Fonte: O Autor 3 O EXPERIMENTO iv 3 O experimento Nosso experimento pode ser pensado em 2 etapas , primeiro medimos o espectro do mercu´rio e he´lio , afim de obter uma reta de calibrac¸a˜o atrave´s de um ajuste. Assim partimos para a 2 etapa que sera´ obter a constante de Rydberg atrave´s da medic¸a˜o do espectro do hidrogeˆnio. 3.1 Procedimento 1. Montamos nossa bancada conforme mostrado na Figura:1 2. Encaixamos a lampada de Mercu´rio no espectrosco´pio e o ligamos 3. Ajustamos o diafragma do espectrosco´pio,a fim de colimar o feixe e estreitar as raias o suficiente para que a largura na˜o seja considera´vel e gere erros de medic¸a˜o. 4. Com a laˆmpada devidamente encaixada no eletrosco´pio, medimos o aˆngulo correspondente ao ma´ximo central. Para aferir que a rede de difrac¸a˜o esta´ perpendicular ao feixe, escolhemos uma raia do espectro e medimos o aˆngulo correspondente a essa raia tanto para direita quanto para esquerda. 5. Tomada de dados dos aˆngulos a`s correspondentes raias. 6. Repetimos o procedimento substituindo a laˆmpada de Mercu´rio por Helio, depois Hidrogeˆnio. OBS: Repare que na˜o se faz necessa´ria a recalibrac¸a˜o da rede de difrac¸a˜o pois a u´nica diferenc¸a esta´ na troca de laˆmpadas. Figura 2: Foto tirada do visor do espectroscopio, mostrando uma das bandas. 3 O EXPERIMENTO v 3.2 Espectro do He´lio e do Mercu´rio e a Reta de calibrac¸a˜o Usando a lampada de He´lio , fizemos o alinhamento do espectrosco´pio atrave´s da medida do aˆngulo das primeiras bandas a` esquerda e direita. Tivemos que : Raia Central θ′ = 167, 9◦ Primeira Banda a` direita (Violeta) θ1 = 175, 7 ◦ Primeira Banda a` esquerda (Violeta) θ2 = 160, 1 ◦ Logo, as diferenc¸as entre a Raia e as Primeiras bandas sa˜o: ∆θ1 = 7,8 ∆θ2 = 7,8 Como ∆θ1 = ∆θ2 , Vemos que a rede de difrac¸a˜o esta´ satisfatoriamente per- pendicular ao feixe de luz. 3.2.1 Helio Obtivemos as seguintes medias para o espectro do He´lio. Cor θ (graus) ∆θ (graus) λ de referencia (nm) Violeta 160,1 7,8 447,1 Azul 159,8 8,1 471,3 Verde 159,6 8,3 492,2 Verde-claro 159,4 8,5 501,5 Amarelo 157,7 10,2 587,6 Vermelho 156,5 11,4 667,8 3.2.2 Me´rcurio Analogamente para o Me´rcurio , obtemos Cor θ (graus) ∆θ (graus) λ de referencia (nm) Violeta 161,0 6,9 404,66 Azul-Violeta 160,6 7,3 435,83 Turquesa 159,7 8,2 491,60 Verde 158,6 9,3 546,07 Amarelo 157,9 10 579,07 Com esses dois conjuntos de medidas, podemos ajustar uma reta de calibrac¸a˜o usando o Programa 1 e 2 (Apeˆndice 1) 3 O EXPERIMENTO vi 3.2.3 Reta de calibrac¸a˜o Como ja´ abordado em outros experimentos, para redes de difrac¸a˜o, esperamos sempre um comportamento linear entre o comprimento de onda e o seno do aˆngulo de desvio “∆θ”, podemos assim, ajustar a melhor reta atrave´s do me´todo dos mı´nimos quadrados. No nosso trabalho realizamos dois tipos de ajuste, regressa˜o linear com e sem peso, podemos fazer em paralelo para comparar os resultados obtidos pelos dois me´todos Figura 3: Reta de calibrac¸a˜o . Fonte: O Autor Ajuste com peso: Com os seguintes valores de coeficiente angular “α” e linear “β”. α = (3295, 41± 0, 0164597)nm (1) β = (11, 45± 0, 00252637)nm (2) Para efeitos comparativos, fizemos em separado o mesmo ajuste para o He´lio e o Mercu´rio, novamente usando o Programa 1 obtivemos: 3 O EXPERIMENTO vii Figura 4: Ajuste Helio . Fonte: O autor Helio Com os seguintes valores de coeficiente angular αh e linear βh. αh = (3389, 85± 0, 022126)nm (3) βh = (−5, 15055± 0, 00351857)nm (4) 3 O EXPERIMENTO viii Figura 5: Ajuste Me´rcurio. Fonte: O autor Me´rcurio Com os seguintes valores de coeficiente angular αm e linear βm αm = (3217, 68± 0, 027)nm (5) βm = (24, 828± 0, 00395674)nm (6) Compatibilidade Analisando a compatibilidade entre os coeficientes: |αm − αh|√ σ2αm + σ 2 αh = 4932, 13 > 2→ Incompat´ıvel (7) |βm − βh|√ σ2βm + σ 2 βh = 5661, 76 > 2→ Incompat´ıvel (8) Podemos analisar a compatibilidade dos coeficientes lineares com o zero. 3 O EXPERIMENTO ix |βh − 0|√ σ2β0 + σ 2 βh = 1463, 82 > 2→ Incompat´ıvel (9) |βm − 0|√ σ2βm + σ 2 β0 = 6274, 86 > 2→ Incompat´ıvel (10) 3.3 Espectro de Hidrogeˆnio Com a reta de calibrac¸a˜o acima, podemos usar os aˆngulos medidos do espectro de hidrogeˆnio para obter os seus respectivos comprimentos de onda. Cor θ (graus) ∆θ (graus) N da se´rie de Balmer Violeta 160,5 7,4 5 Verde 159,7 8,2 4 Vermelho 156,8 11,1 3 Podemos tambe´m introduzir duas grandezas “K” e “B” para medir a constante de Rydberg atrave´s de um segundo ajuste linear. Onde: K = 1 λ (11) B = ( 1 22 − 1 n2 ) (12) Aqui sera´ mostrado que o erro associado a varia´vel “λ” depende diretamente do valor do aˆngulo medido, fazendo assim a ocorreˆncia de erros diferentes para as varia´veis “K”, ale´m disso, na˜o podemos deixar de notar a existeˆncia de uma correlac¸a˜o entre os erros “sigmaa” e “sigmab”, pore´m na˜o vamos entrar no me´rito desses ca´lculos sabendo assim que nossos erros a partir daqui esta˜o sendo de certa forma erroˆneos. Propagac¸a˜o do erro. θ = |θ′ − θi| (13) σθ′ = σθi = 0, 05 ◦ = 0, 05pi 180 rad (14) σθ = √ 2(0, 05)pi 180 rad (15) Sendo λ = α sin θ + β , 3 O EXPERIMENTO x σ2λ = ( ∂λ ∂α σα) 2 + ( ∂λ ∂θ σθ) 2 + ( ∂λ ∂β σβ) 2 + 2 ∂λ ∂α ∂λ ∂β σαβ (16) σ2λ = sin 2 θσ2α + cos 2 θ2 + σ2β + 2 sin θσαβ (17) Desprezando o termo de σαβ e substituindo os valores: α = (3295, 41± 0, 0164597)nm (18) β = (11, 45± 0, 00252637)nm (19) Enta˜o σ2λ(θ) = (0, 0002709217 sin 2 θ + 16, 54031 cos2 θ + 0, 00000638254)nm (20) Onde σk = ±σλλ2 Atrave´s do Programa 3 (Apeˆndice 1),podemos obter a seguinte tabela de dados: Medida: λ (nm): K (nm−1): B: 1 435,884 ± 4,03311 (229,419 ± 2,12274)10−5 0,21 2 481,471 ± 4,0254 (207,704 ± 1,73648)10−5 0,1875 3 645,889 ± 3,9909 (154,827 ± 0,956654)10−5 0,1389 Ajuste sem peso Usando o Programa 2 obtemos: α = (3295, 22± 94, 1428)nm (21) β = (11, 4829± 11, 434)nm (22) Para efeitos comparativos, fizemos em separado o mesmo ajuste para o He´lio e Mercu´rio, novamente usando o Programa 2 obtivemos: Com os seguintes valores de coeficiente angular αh e linear βh αh = (3389, 8± 136, 076)nm (23) βh = (−5, 14384± 21, 6146)nm (24) Com os seguintes valores de coeficiente angular αm e linear βm 3 O EXPERIMENTO xi αm = (3218, 67± 147, 448)nm (25) βm = (24, 6859± 21, 5889)nm (26) Analisando a compatibilidade entre os coeficientes: |αm − αh|√ σ2αm + σ 2 αh = 0, 85 < 2→ Compat´ıvel (27) |βm − βh|√ σ2βm + σ 2 βh = 0, 97 < 2→ Compat´ıvel (28) Tambe´m podemos analisar a compatibilidade dos coeficientes lineares com o zero. |βh − 0|√ σ2β0 + σ 2 βh = 0, 23 < 2→ Compat´ıvel (29) |βm − 0|√ σ2βm + σ 2 β0 = 1, 14 < 2→ Compat´ıvel (30) Como na˜o sera´ feito o ajuste linear com peso, na˜o faz sentido calcular os erros associados as varia´veis “λ” e “k”. Atrave´s de uma variante trivial do Programa 3 (Mudanc¸a nos coeficientes a e b), podemos obter a seguinte tabela de dados: Lembrando das equac¸o˜es (11) e (12). Medida: λ (nm): K (nm−1): B: 1 435,89 (229,416)10−5 0,21 2 481,474 (207,696)10−5 0,1875 3 645,882 (154,827)10−5 0,1389 3.3.1 Constante de Rydberg Atrave´s da tabela anterior podemos montar um gra´fico de (K × B) e novamente com o me´todo dos mı´nimos quadrados ajustar a melhor reta, sendo assim: Com peso: Usando o programa 1, novamente ajustaremos a melhor reta, afim de medir o coeficiente angular , que esta associado a` constante de Rydberg Assim temos 3 O EXPERIMENTO xii Figura 6: B × k . Fonte: O autor Compatibilidade Podemos analisar a compatibilidade usando o valor de referencia ”R”do roteiro: R = 1, 097373155× 107m−1 (31) a = (1, 06304± 0, 0879671)× 107m−1 (32) b = (0, 00728614± 0, 0142705)× 107m−1 (33) Logo |R− α|√ σ2R + σ 2 α = 0, 39 < 2→ Compat´ıvel (34) Em relac¸a˜o ao zero, |0− β|√ σ20 + σ 2 b = 0, 51 < 2→ Compat´ıvel (35) 4 QUESTO˜ES PROPOSTAS xiii Sem Peso: Usando o programa 2, novamente ajustaremos a melhor reta, afim de medir o coeficiente angular , que esta associado a` constante de Rydberg Compatibilidade Podemos analisar a compatibilidade usando o valor de referencia do roteiro: R = 1, 097373155× 107m−1 (36) a = (1, 05528± 0, 0292836)× 107m−1 (37) b = (0, 0086928± 0, 00530751)× 107m−1 (38) Logo |R− α|√ σ2R + σ 2 α = 1, 43 < 2→ Compat´ıvel (39) Em relac¸a˜o ao zero, |0− β|√ σ20 + σ 2 b = 1, 62 < 2→ Compat´ıvel (40) Analisando as compatibilidades entre os dois me´todos: |Rc/peso −Rs/peso|√ σ2R c/peso + σ2R s/peso = 0, 0836 < 2→ Compat´ıvel (41) Em relac¸a˜o ao zero, |bc/peso − bs/peso|√ σ2b c/peso + σ2b s/peso = 0, 088 < 2→ Compat´ıvel (42) 4 Questo˜es Propostas Existiria alguma diferenc¸a, em termos de precisa˜o, se na determinac¸a˜o dos compri- mentos de onda do hidrogeˆnio usa´ssemos os espectros de diferentes ordens (primeira ou segunda)? Sim, durante o experimento pudemos conferir os espectros de se 5 CONCLUSA˜O xiv segunda ordem e uma diferenc¸a nota´vel era na intensidade das faixas, o que difi- cultaria mais ainda a identificac¸a˜o das faixas e diminuindo o nu´mero de medidas, por exemplo, uma faixa do hidrogeˆnio foi bem dif´ıcil de ser enxergada, com toda certeza ela na˜o seria vista ao utilizarmos o espectro de segunda ordem, assim ter´ıamos apenas 2 medidas, o que diminui muito a confianc¸a dos nossos dados (na verdade, dois dados e´ o mı´nimo poss´ıvel para se ajustar uma reta). 5 Conclusa˜o Podemos perceber, que apesar da utilizac¸a˜o de dois me´todos diferentes, conseguir- mos medir a constante de Rydberg com certa precisa˜o e com boa compatibilidade, utilizando o me´todo de regressa˜o linear com peso obteve-se, R = (1, 06304± 0, 0879671)× 107 m−1 com uma compatibilidade de 0, 39σ e atrave´s do me´todo de regressa˜o linear sem peso obtivemos, R = (1, 05528± 0, 0292836)× 107 m−1 com uma compatibilidade de 1, 43σ , na qual os coeficiente lineares foram com- pat´ıveis com o valor zero (que e´ razoa´vel dada a formulac¸a˜o teo´rica do experimento) a` 0, 51σ e 1, 62σ ,respectivamente. A compatibilidade entre os valores pelos dois me´todos diferentes foi 0, 0836σ para as constantes de Rydberg e 0, 088σ entre os coeficientes lineares, o que nos indica um bom resultado comparativo entres os dois me´todos. Pore´m, na˜o podemos deixar de perceber que, ao utilizarmos o me´todo de com peso, os erros das retas de calibrac¸a˜o foram multas ordens de grandeza menor, se comparado com o me´todo sem peso, proporcionando assim uma na˜o compatibili- dade entres os ajustes do Mercu´rio e do Helio separadamente com discrepaˆncias da ordem de 103σ, o que se mostra assustador. Observemos que a considerac¸a˜o dos erros instrumentais de medic¸a˜o do aˆngulo (0,05◦), que de acordo com a equac¸a˜o (15), que nos da´ a passagem desse erro para radiano, nos proporcionam erros da ordem de 10−3σ , atribuindo assim um erro dessa ordem as medidas dos aˆngulos e´ de se esperar que o erro das medidas dos coeficientes sejam bem pequenos, pois: σa = σ σx , sendo , σ = 1∑ 1 σ2 i e σi os erros de cada medida. Enta˜o e´ fa´cil observar que fixado o desvio padra˜o, diminuindo os valores de cada σi, o denominador de σ tende a aumentar cada vez mais, fazendo assim o valor de σ e consequentemente σa diminu´ırem, e como σb e´ proporcional a sigmaa, 5 CONCLUSA˜O xv o mesmo vale, na˜o conseguimos atribuir nenhum fator que explicasse algum tipo de subestimac¸a˜o dos erros a na˜o ser os discutidos acima. Temos tambe´m o problema da na˜o considerac¸a˜o da correlac¸a˜o σαβ no calculo dos erros associados a`s varia´veis “λ” e consequentemente “K”, logo, apesar dos resultados terem sido muito bons, nosso n´ıvel de confianc¸a neles na˜o pode ser bom, pois a correlac¸a˜o pode assumir valores tanto positivos quanto negativos, o que afetaria drasticamente os erros da varia´vel “K” de forma a aumentar ou diminuir os erros, o que se refletiria nos pesos e consequentemente no erro da medida, fazendo-a ser ate´ incompat´ıvel em alguns casos. Analisando as relac¸o˜es ente “α” e “β” esperamos uma correlac¸a˜o forte com valor negativo, enta˜o para o termo: 2 sin(2θ)σαβ Esperar´ıamos algo do tipo 2 sin(2θ)σαβ = −u sin(θ) Para alguma constante u da ordem de 101 (correlac¸a˜o forte ∼= 1) , pore´m nossa maior medida de “θ” para o hidrogeˆnio e´ 11,1◦, sin(11, 1◦) = 0, 1925 Podemos estimar uma diferenc¸a no valor de σ2λ da ordem de 10 0, o que em casos extremos afetaria bastante a medida, levando em considerac¸a˜o que o termo pre- dominante e´ de ordem 101, pore´m com um breve calculo podemos mostrar que os valores dos erros tanto de “λ” quando de “k” seriam diminu´ıdos aproximadamente pela metade (em caso extremo), pore´m os pesos continuariam basicamente iguais, fazendo assim, tanto o valor de “a” quanto σa variarem pouco em relac¸a˜o aos an- tigos. Com essa pequena discussa˜o e´ poss´ıvel concluir que apesar de ignorarmos um fator importante de correlac¸a˜o nas contas, na˜o ter´ıamos grandes alterac¸o˜es nos resultados finais aqui apresentados. Com todas estas conciderac¸o˜es,e´ poss´ıvel concluir que ignorando (ajuste sem peso) ou na˜o (ajuste com peso), erros instrumentais das medidas (aˆngulos) e erros de propagac¸a˜o de incerteza (“λ” e “k” em virtude da propagac¸a˜o de “θ”, ”a” e “b”), o resultado final que e´ a medic¸a˜o da constante de Rydberg, se mostra satisfato´rio, apesar do me´todo mais pobre nostrazer resultados intermedia´rios (compatibilidade entre as retas do Mercu´rio e Helio) bem mais consistentes. 6 BIBLIOGRAFIA xvi 6 Bibliografia • Vuolo, Jose´ Henrique. Fundamentos da teoria dos erros. E. Blucher, 1996. • Caruso, Francisco, and Vitor Oguri. F´ısica moderna. Elsevier, 2006. • Sala, Oswaldo. ”Uma introducao a espectroscopia atomica-O atomo de hi- drogenio.”QUIMICA NOVA 30.7 (2007): 1773. 7 APEˆNDICE 1 :Programas 7.1 Programa 1 1 #include <iostream > 2 #include <stdlib.h> 3 #include <math.h> 4 #include <fstream > 5 6 using namespace std; 7 8 int main(int , char **){ 9 10 ifstream ler; 11 12 char file [100]; 13 14 cout << "Digite o nome do arquivo: "; 15 cin.getline(file ,100); 16 cout << "\n"; 17 18 ler.open(file); 19 20 if(!ler.is_open ()){ 21 cout << "O arquivo " << file << " nao foi aberto" << "\n\n"; 22 23 return 0; 24 }else{ 25 cout << "O arquivo " << file << " foi aberto" << "\n\n"; 26 27 int n; 28 29 cout << "Digite o numero de linhas: "; 30 7 APEˆNDICE 1 :PROGRAMAS xvii 31 cin >> n; 32 33 cout << "\nO Arquivo possui " << n << " linha(s)" << "\n\n"; 34 35 // armazenando os dados 36 37 double w[n],x[n],y[n]; 38 39 40 for(int i = 0; i < n ; i++){ 41 42 ler >> x[i] >> y[i] >> w[i]; 43 44 cout << x[i] << ’\t’ << y[i] << ’\t’ << w[i] << endl; 45 46 } 47 48 cout << "\n\n"; 49 50 ler.close(); 51 52 //sigma^2 53 double temp = 0; 54 double sigma2; 55 56 for(int i = 0; i<n ; i++){ 57 58 temp += 1/pow(w[i],2); 59 60 } 61 62 sigma2 = 1/temp; 63 64 cout << "sigma2 = " << sigma2 << "\n\n"; 65 66 67 68 // desvio padrao de x 69 70 double media ,STDEV_x; 71 72 STDEV_x = 0; 73 media = 0; 7 APEˆNDICE 1 :PROGRAMAS xviii 74 75 for(int i = 0; i < n ; i++){ 76 77 media += sigma2 *(x[i]/pow(w[i],2)); 78 79 } 80 81 cout << "media = " << media << "\n\n"; 82 83 for(int i = 0; i < n ; i++){ 84 85 STDEV_x += sigma2 *(pow((x[i] - media) ,2)/pow(w[i],2)); 86 } 87 88 cout << "STDEV_x = " << STDEV_x << "\n\n"; 89 90 // coeficiente angular (a) 91 92 double a=0; 93 94 for(int i = 0; i < n ; i++){ 95 96 a += (sigma2 *(x[i]-media)*y[i])/(pow(w[i],2)*STDEV_x); 97 98 } 99 100 cout << "a = " << a << "\n\n"; 101 102 // coeficiente linear (b) 103 104 double b = 0; 105 106 double temp2 = 0; 107 108 for(int i = 0; i<n ; i++){ 109 110 temp2+= ((y[i]* sigma2)/pow(w[i],2)); 111 112 } 113 114 b = temp2 -a*media; 115 116 cout << "b = " << b << "\n\n"; 7 APEˆNDICE 1 :PROGRAMAS xix 117 118 //erro de a 119 120 double sigma_a; 121 122 sigma_a = sqrt(sigma2/STDEV_x); 123 124 cout << "sigma_a = " << sigma_a << "\n\n"; 125 126 //erro de b 127 128 double sigma_b ,media_2; 129 130 media_2 = 0; 131 132 for(int i = 0; i<n ; i++){ 133 134 media_2 += (( sigma2*pow(x[i],2))/pow(w[i],2)); 135 136 } 137 138 cout << "media_2 = " << media_2 << "\n\n"; 139 140 sigma_b = sigma_a*sqrt(media_2); 141 142 cout << "sigma_b = " << sigma_b << "\n\n"; 143 144 145 146 // Resultado 147 cout << "Resultados: " << "\n\n"; 148 cout << "a = (" << a << " +- " << sigma_a << ") "<< endl; 149 cout << "b = (" << b << " +- " << sigma_b << ") "<< "\n\n"; 150 151 } 152 } 7.2 Programa 2 1 #include <iostream > 2 #include <stdlib.h> 3 #include <math.h> 4 #include <fstream > 5 7 APEˆNDICE 1 :PROGRAMAS xx 6 using namespace std; 7 8 int main(int , char **){ 9 10 ifstream ler; 11 12 char file [100]; 13 14 cout << "Digite o nome do arquivo: "; 15 cin.getline(file ,100); 16 cout << "\n"; 17 18 ler.open(file); 19 20 if(!ler.is_open ()){ 21 cout << "O arquivo " << file << " nao foi aberto" << "\n\n"; 22 23 return 0; 24 }else{ 25 cout << "O arquivo " << file << " foi aberto" << "\n \n"; 26 27 int n; 28 29 cout << "Digite o numero de linhas: "; 30 31 cin >> n; 32 33 cout << "\nO Arquivo possui " << n << " linha(s)" << "\n\n"; 34 35 // armazenando os dados 36 37 double x[n],y[n]; 38 39 40 for(int i = 0; i < n ; i++){ 41 42 ler >> x[i] >> y[i]; 43 44 cout << x[i] << ’\t’ << y[i] << endl; 45 7 APEˆNDICE 1 :PROGRAMAS xxi 46 } 47 48 cout << "\n\n"; 49 50 ler.close(); 51 52 53 // desvio padrao de x 54 55 double media_x ,STDEV_x; 56 57 STDEV_x = 0; 58 media_x = 0; 59 60 for(int i = 0; i < n ; i++){ 61 62 media_x +=x[i]; 63 64 } 65 media_x=media_x/n; 66 67 cout << "media_x = " << media_x << "\n\n"; 68 69 for(int i = 0; i < n ; i++){ 70 71 STDEV_x +=( pow((x[i] - media_x) ,2)); 72 } 73 74 STDEV_x=sqrt(STDEV_x/n); 75 76 cout << "STDEV_x = " << STDEV_x << "\n\n"; 77 78 // desvio padrao de y 79 80 double media_y ,STDEV_y; 81 82 STDEV_y = 0; 83 media_y = 0; 84 85 for(int i = 0; i < n ; i++){ 86 87 media_y +=y[i]; 88 7 APEˆNDICE 1 :PROGRAMAS xxii 89 } 90 media_y=media_y/n; 91 92 cout << "media_y = " << media_y << "\n\n"; 93 94 for(int i = 0; i < n ; i++){ 95 96 STDEV_y +=( pow((y[i] - media_y) ,2)); 97 } 98 99 STDEV_y=sqrt(STDEV_y/n); 100 101 cout << "STDEV_y = " << STDEV_y << "\n\n"; 102 103 // Covariancia 104 105 double STDEV_xy; 106 107 STDEV_y = 0; 108 109 for(int i = 0; i < n ; i++){ 110 111 STDEV_xy +=((y[i] - media_y)*(x[i] - media_x)); 112 } 113 114 STDEV_xy=STDEV_xy/n; 115 116 cout << "STDEV_xy = " << STDEV_xy << "\n\n"; 117 118 // coeficiente angular (a) 119 120 double a=0; 121 122 a= STDEV_xy/pow(STDEV_x ,2); 123 124 cout << "a = " << a << "\n\n"; 125 126 // coeficiente linear (b) 127 128 double b = 0; 129 130 b = a*media_x; 131 b=media_y -b; 7 APEˆNDICE 1 :PROGRAMAS xxiii 132 133 cout << "b = " << b << "\n\n"; 134 135 // epsilon_y 136 137 double ey; 138 139 ey = 0; 140 141 for(int i = 0; i < n ; i++){ 142 143 ey +=( pow(( y[i] - (a*x[i]+b)) ,2)); 144 } 145 146 ey=sqrt(ey/(n-2)); 147 148 cout << "ey = " << ey << "\n\n"; 149 150 //erro de a 151 152 double sigma_a; 153 154 sigma_a = ey/(sqrt(n)*STDEV_x); 155 156 cout << "sigma_a = " << sigma_a << "\n\n"; 157 158 //erro de b 159 160 double sigma_b; 161 162 sigma_b = sigma_a*sqrt(pow(STDEV_x ,2)+pow(media_x ,2) ); 163 164 cout << "sigma_b = " << sigma_b << "\n\n"; 165 166 167 168 // Resultado 169 cout << "Resultados: " << "\n\n"; 170 cout << "a = (" << a << " +- " << sigma_a << ") "<< endl; 171 cout << "b = (" << b << " +- " << sigma_b << ") "<< "\n\n"; 7 APEˆNDICE 1 :PROGRAMAS xxiv 172 173 } 174 } 7.3 Programa 3 1 #include <iostream > 2 #include <math.h> 3 using namespace std; 4 int main() 5 { 6 float erro ,t,l,a,b,k,errok; 7 8 int continuacao; 9 continuacao =1; 10 if (continuacao !=1) 11 { 12 return 0; 13 } 14 if (continuacao ==1) 15 { 16 while (continuacao ==1) 17 { 18 19 cout <<"Insira o angulo teta em graus \n"; 20 cin >>t; 21 t=t*3.14159265358/180; 22 erro=sqrt (798.4863* sin(t)*sin(t)+16.5427* cos(t)*cos( t)+125.4892); 23 a=3295.65; 24 b=11.3985; 25 l=(a*sin(t)) + b; 26 k=1/l; 27 errok=erro/(l*l); 28 cout <<"l= "<<l<<"+/-"<<erro <<" nm \n"; 29 cout <<"k= "<<k<<"+/-"<<errok <<" 1/nm \n"; 30 cout <<"\n\nDeseja usar novamente? Sim =(1) Nao =(0)\n\ n"; 31 cin >>continuacao; 32 33 34 } 35 } 36 }
Compartilhar