O código para interpolação no MATLAB
O método direto
O método direto de interpolação envolve várias etapas de cálculo. Usando o exemplo da introdução: "dt = 50 - 40" é a faixa de temperatura da tabela. "dp = 92 - 70" é a faixa de pressão da tabela. "dt1 = (44-40) / dt" é a fração da faixa de temperatura para a temperatura em questão. "response = dt1 * dp + 70" é a mesma fração sobre a faixa de pressão adicionada à pressão mais baixa da tabela; e é a resposta. Neste exemplo, são 78, 8 unidades de pressão.
Interpolação Linear em MATLAB
O MATLAB inclui uma função que pode cumprir os quatro cálculos da seção anterior simultaneamente. É a função "interp1" e simplificará seus cálculos. Usando o exemplo anterior, forneça a função interp1 com a faixa de pressão, a faixa de temperatura e a temperatura em questão, e ela fornecerá a resposta de pressão em uma única etapa. Escreva o seguinte código na linha de comando do MATLAB:
answer = interp1 ([40 50], [70 92], 44)
O MATLAB responderá com "response = 78.8000", que corresponde ao resultado da seção anterior.
Interpolação do vizinho mais próximo
A função interp1 do MATLAB oferece vários métodos para executar a interpolação. O linear é o método padrão. No entanto, suponha que, em vez de apenas números 40 e 50, você tenha valores de temperatura para todos os inteiros entre 40 e 50. Suponha também que você tenha valores de pressão que correspondem apenas a inteiros para cada valor de temperatura em sua tabela. . Se você usar o método do "vizinho mais próximo", o MATLAB não lhe dará um valor exato; em vez disso, diz a resposta mais próxima na tabela. O código no seguinte formato faz isso:
answer = interp1 ([valores temp], [valores de pressão], 43.4, 'mais próximos')
Interpolação de curvas cúbicas
A curva cúbica é outro método que pode executar a função interp1 ou a função "spline" autônoma. Em vez de atribuir um valor único ao terceiro argumento da função, atribua a ele um intervalo de valores dentro do primeiro intervalo (as temperaturas na tabela). A função spline retornará um intervalo correspondente dentro do segundo intervalo (pressões na tabela). Você pode usar o código no formato a seguir para extrair o intervalo de pressões correspondentes a um subintervalo de temperaturas:
answer = spline ([range temp], [range de pressão], [subrange temp])