0 svar
54 visningar
Louiger 470
Postad: 20 nov 2019 16:12

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

Svara
Close