Eget interpolationsprogram
Hej!
Jag har en uppgift där jag ska använda värdena T 100, 400, 700, 100 och interpolera genom dem med ett tredjegradspolynom. Jag har skrivit ett program och får punkter men de är helt fel (bortsett från att derivatan är negativ, vilket den ska vara), men jag vet inte vad jag gör för fel :-(
Program:
clear all, close all, clc
% Givna värden
% temperatur, T, (K)
T=[100 200 300 400 500 600 700 800 900 1000];
% kontuktivitet, k, (W/cmK)
k=[1.32 0.94 0.835 0.803 0.694 0.613 0.547 0.487 0.433 0.38];
%plot(T,k, 'bo')
%värden som ska användas i uppg a
B=T([1 4 7 10]);
A0=k([1 4 7 10]);
s0=A0([1]);
a0=[s0^0 s0^1 s0^2 s0^3];
s1=A0([2]);
a1=[s1^0 s1^1 s1^2 s1^3];
s2=A0([3]);
a2=[s2^0 s2^1 s2^2 s2^3];
s3=A0([4]);
a3=[s3^0 s3^1 s3^2 s3^3];
A=([a0; a1; a2; a3]);
%Ax=B
[x]=A\B.';
v=0;
while v<=2;
hold on
Y=0+x([2])*v+x([3])*v^2+x([4])*v^3;
v=v+0.1;
plot(v,Y, 'ko');
end