Como determinar coeficientes do spline cúbico

Escrito por paul dohrman | Traduzido por bruno laget
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como determinar coeficientes do spline cúbico
Aprenda a achar os coeficientes para uma spline cúbica (BananaStock/BananaStock/Getty Images)

A interpolação spline cúbica ajusta os pontos de dados exatamente, com uma cúbica entre cada par adjacente de pontos. As cúbicas possuem a propriedade de não apenas coincidir com a cúbica adjacente na primeira derivada, ou declive, quando se encontram no ponto de dados em comum, mas também compartilham a segunda derivada naquele ponto. Isto pode não ser necessário para a maioria das interpolações, mas sem o requerimento da segunda derivada, as cúbicas possuem dois coeficientes para uma solução única. A estratégia geral de solução envolve criar um sistema de equações lineares para ser resolvido por operações elementares de matrizes.

Nível de dificuldade:
Desafiante

Outras pessoas estão lendo

O que você precisa?

  • Excel

Lista completaMinimizar

Instruções

  1. 1

    Comece decidindo que tipo de cúbica deseja criar. Os passos seguintes produzem um spline "natural", onde a segunda derivada nas extremidades dos dados ordenados é igual a zero. Isto é uma escolha razoável quando não há informação nos limites sobre a derivada da "verdadeira" curva que você está tentando estimar.

  2. 2

    Denote os n+1 pontos de dados ordenados como x(0), x(1), x(2),...,x(n) como se os números fossem subscritos.

  3. 3

    Defina n variáveis como a diferença entre pontos de dados adjacentes: hj = x(j+1) - x(j) O j do h(j) é subscrito. Portanto h(0) = x(1) - x(0) e h(n) é x(n+1) - x(n).

  4. 4

    Defina uma matriz tridiagonal com a primeira e última linhas sendo (1 0 0 0 ...) e (0 ... 0 0 1) respectivamente. Faça uma matriz quadrada n+1 onde n+1 é o número de pontos de dados.

  5. 5

    Preencha as n-1 linhas do meio com os três valores h(j), 2[h(j)+h(j+1)] e h(j+1), 0 <= j <= n-2. Posicione-as horizontalmente para que fiquem confinadas às três diagonais centrais.

  6. 6

    Anote os valores dos dados em x(i) como a(i). Então, para o valor de x x(i), você quer que a curva ajustada tenha valor a(i), o que fará com que passe pelo ponto naquele local.

  7. 7

    Defina um vetor vertical n+1 B, com primeira e última linhas iguais a zero. Defina as n-1 fileiras centrais como 3/h(j) x (a(j+1)-a(j)) - 3/h(j-1) x (a(j)-a(j-1)); j vai de 1 a n-1 para lhe dar n-1 elementos para n-1 linhas.

  8. 8

    Defina o vetor vertical n+1 X como os coeficientes c(j) que são um dos coeficientes nas cúbicas que você está resolvendo. X é desconhecido ainda. Você não terá valores para preencher no momento.

  9. 9

    Resolva a equação linear AX = B tomando a inversa de A e multiplicando matricialmente por B. Usar funções do Excel para resolver este sistema é muito mais simples do que usar um algoritmo de um livro de análise numérica ou escalonando a matriz à mão. Para fazê-lo, entre as células da matriz em uma planilha do Excel, use a função MINVERSE para encontrar a inversa de A. Então, use a função MMULT para multiplicar B pela inversa de A.

  10. 10

    Sejam b(j) as células do vetor B, j indo de 0 a n-1.

  11. 11

    Calcule todos os d(j) = [c(j+1) - c(j)]/3h(j). Agora você possui os coeficientes das n cúbicas entre os n+1 pontos de dados. a(j) + b(j)(x-x(j)) + c(j)(x-x(j))^2 + d(j)(x-x(j))^3 é a equação que estima o valor verdadeiro dos dados em x entre os pontos x(j) e x(j+1) para j = 0 e n-1. Então, existem n equações.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível