Use o botão abaixo para reportar erros ou dar sugestões.

Computação Científica - Um Livro Colaborativo

8.6 Exercícios


E 8.6.1. Escreva um programa que copia o conteúdo de um arquivo para outro arquivo. Faça versões que lê e escreve arquivo de texto e arquivo binário.

E 8.6.2. Abra o gedit e escreva o seguinte arquivo:

Artur Avila  
O Instituto  
A PPGMAp  
O DMPA

Salve o arquivo com um nome de sua preferência. Agora escreve um programa para ler o arquivo e escrever na tela o seguinte resultado:

linha 1: Artur Avila  
linha 2: O Instituto  
linha 3: A PPGMAp  
linha 4: O DMPA

E 8.6.3. Faça um programa que lê um arquivo binário e escreve o menor e o maior número na tela.

E 8.6.4. Faça um programa que entra uma ou duas strings na linha de comando, sendo uma delas sempre o nome de um arquivo binário que será lido. O código vai somar os números lidos. Se entrar duas strings, uma será o nome do arquivo e a outra terá três opções: -p soma apenas os pares, -i soma apenas os ímpares e -t soma todos. Se entrar apenas uma string a resposta do programa será a mesma de -t.

E 8.6.5. Resolva novamente o exercício 6.7.8 usando a seguinte estratégia:

  • Resolva primeiro o problema linear − uxx = 100,0 < x < 2. u(0) = 0 u(2) = 10

    e salve a solução em arquivo binário.

  • Leia a solução do item anterior e use-a como chute inicial para o problema não linear − uxx = 100 − u4 10000,0 < x < 2. u(0) = 0 u(2) = 10

    Salve a solução em arquivo e use-a para fazer gráfico no scilab.

E 8.6.6. Resolva novamente os exercícios 6.7.13 e 6.7.14, imprima a solução em arquivo e faça o gráfico no scilab.

E 8.6.7. (Ajuste linear - mínimos quadrados)

Dada m funções {f1(x),f2(x),…,fm(x)} e um conjunto de n pares ordenados {(x1,y1), (x2,y2), …, (xn,yn)}, o problema de mínimos quadrados linear consiste em calcular os coeficientes a1, a2, …, am tais que a função dada por

f(x) = ∑ j=1ma jfj(x) = a1f1(x) + a2f2(x) + … + amfm(x) (8.1)

minimiza o resíduo

R = ∑ i=1n f(x i) − yi 2. (8.2)

Aqui, a minimização é feita por todas as possíveis escolhas dos coeficientes a1, a2, …, am. Esse problema é equivalente a encontrar a solução o sistema Ma = w, onde a matriz M é dada por: M = ∑ i=1nf 1(xi)2 ∑ i=1nf 2(xi)f1(xi) ⋯ ∑ i=1nf m(xi)f1(xi) ∑ i=1nf 1(xi)f2(xi) ∑ i=1nf 2(xi)2 ⋯ ∑ i=1nf m(xi)f2(xi) ∑ i=1nf 1(xi)f3(xi) ∑ i=1nf 2(xi)f3(xi) ⋯ ∑ i=1nf m(xi)f3(xi) ⋮ ⋮ ⋱ ⋮ ∑ i=1nf 1(xi)fm(xi) ∑ i=1nf 2(xi)fm(xi) ⋯ ∑ i=1nf m(xi)2 .

e os vetores a e w são dados por a = a1 a2 ⋮ a m ew = ∑ i=1nf 1(xi)yi ∑ i=1nf 2(xi)yi ∑ i=1nf 3(xi)yi ⋮ ∑ i=1nf m(xi)yi .

Mais simplificadamente, observamos que M = V T V e w = V T y, onde a matriz V é dada por:

V = f1(x1) f2(x1) ⋯ fm(x1) f1(x2) f2(x2) ⋯ fm(x2) f1(x3) f2(x3) ⋯ fm(x3) ⋮ ⋮ ⋱ ⋮ f1(xn) f2(xn) ⋯ fm(xn) (8.3)

e y é o vetor coluna y = (y1,y2,…,yN). Assim, o problema de ajuste se reduz a resolver o sistema linear Ma = w, ou V T V a = V T y.

Implemente um código para calcular os coeficientes de uma reta que melhor se ajusta a N pontos no plano. Imprime o resultado em arquivo e faça gráfico da solução no scilab.

Creative Commons License Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 19/8/2020 às 17:33:17.

Informe erros ou edite você mesmo!