Sajid Ali
                                                                081220-097


INTERPOLATION Methods:

      NEWTON FORWARD DIFFERENCE METHOD:


n = input('nEnter number of data points = ');
h = input('nEnter step size (h) = ')
x(1) = input('nx0 = ');
y(1) = input('y0 = ');
for i=2:n
    x(i)=x(i-1)+h;
    fprintf('nX%d = %f',i,x(i));
    fprintf('ttY%d: ',i);
    y(i) = input('');
end
x_reqd = input('nEnter X for which value of Y is sought: ');
s=(x_reqd-x(1))/h;
for i=1:n
    diff(i,1)=y(i);
end
%% Calculate Forward Differance Table
for j=2:n
    for i=1:n-j+1
        diff(i,j)=diff(i+1,j-1)-diff(i,j-1);
    end
end
%% Print Forward Differance Table
fprintf('ntXt      Forward Differance Table');
for i=1:n
    fprintf('n %.4f',x(i));
    for j=1:n-i+1
        fprintf('t%.4f',diff(i,j));
    end
end
ans=y(1);
for i=1:n-1
    term=1;
    for j=1:i
        term=term*(s+j-1)/j;
    end
    ans=ans+term*diff(1,i+1);
end




      Backward Methed:
function Forward()

 x=[0;1;2;3;4;5;6];
y=[2;3;10;29;66;127;218];
 dy=[y(2,1)-y(1,1);y(3,1)-y(2,1);y(4,1)-y(3,1);y(5,1)-y(4,1);y(6,1)-
y(5,1);y(7,1)-y(6,1)];
 d2y=[dy(2,1)-dy(1,1);dy(3,1)-dy(2,1);dy(4,1)-dy(3,1);dy(5,1)-
dy(4,1);dy(6,1)-dy(5,1)];
 d3y=[d2y(2,1)-d2y(1,1);d2y(3,1)-d2y(2,1);d2y(4,1)-d2y(3,1);d2y(5,1)-
d2y(4,1)];
 d4y=[d3y(2,1)-d3y(1,1);d3y(3,1)-d3y(2,1);d3y(4,1)-d3y(3,1)];
 d5y=[d4y(2,1)-d4y(1,1);d4y(3,1)-d4y(2,1)];
 d6y=[d5y(2,1)-d5y(1,1)];
 p=(.5-0)/1;
 Y=y(1,1)+(((p*dy(1,1)))+((p*(p-1))/2)*d2y(1,1))+(((p*(p-1)*(p-
2))/6)*d3y(1,1))+(((p*(p-1)*(p-2)*(p-3))/24)*d4y(1,1))+(((p*(p-1)*(p-2)*(p-
3)*(p-4))/120)*d5y(1,1))+(((p*(p-1)*(p-2)*(p-3)*(p-4)*(p-5))/720)*d6y(1,1))

   end

         Striling
   function Forward()

    x=[0;1;2;3;4;5;6];
    y=[2;3;10;29;66;127;218];
    dy=[y(2,1)-y(1,1);y(3,1)-y(2,1);y(4,1)-y(3,1);y(5,1)-y(4,1);y(6,1)-
   y(5,1);y(7,1)-y(6,1)];
    d2y=[dy(2,1)-dy(1,1);dy(3,1)-dy(2,1);dy(4,1)-dy(3,1);dy(5,1)-
   dy(4,1);dy(6,1)-dy(5,1)];
    d3y=[d2y(2,1)-d2y(1,1);d2y(3,1)-d2y(2,1);d2y(4,1)-d2y(3,1);d2y(5,1)-
   d2y(4,1)];
    d4y=[d3y(2,1)-d3y(1,1);d3y(3,1)-d3y(2,1);d3y(4,1)-d3y(3,1)];
    d5y=[d4y(2,1)-d4y(1,1);d4y(3,1)-d4y(2,1)];
    d6y=[d5y(2,1)-d5y(1,1)];
    p=(.5-0)/1;
    Y=y(1,1)+(((p*dy(1,1)))+((p*(p-1))/2)*d2y(1,1))+(((p*(p-1)*(p-
   2))/6)*d3y(1,1))+(((p*(p-1)*(p-2)*(p-3))/24)*d4y(1,1))+(((p*(p-1)*(p-
   2)*(p-3)*(p-4))/120)*d5y(1,1))+(((p*(p-1)*(p-2)*(p-3)*(p-4)*(p-
   5))/720)*d6y(1,1))

    end

Assignmnt 4

  • 1.
    Sajid Ali 081220-097 INTERPOLATION Methods: NEWTON FORWARD DIFFERENCE METHOD: n = input('nEnter number of data points = '); h = input('nEnter step size (h) = ') x(1) = input('nx0 = '); y(1) = input('y0 = '); for i=2:n x(i)=x(i-1)+h; fprintf('nX%d = %f',i,x(i)); fprintf('ttY%d: ',i); y(i) = input(''); end x_reqd = input('nEnter X for which value of Y is sought: '); s=(x_reqd-x(1))/h; for i=1:n diff(i,1)=y(i); end %% Calculate Forward Differance Table for j=2:n for i=1:n-j+1 diff(i,j)=diff(i+1,j-1)-diff(i,j-1); end end %% Print Forward Differance Table fprintf('ntXt Forward Differance Table'); for i=1:n fprintf('n %.4f',x(i)); for j=1:n-i+1 fprintf('t%.4f',diff(i,j)); end end ans=y(1); for i=1:n-1 term=1; for j=1:i term=term*(s+j-1)/j; end ans=ans+term*diff(1,i+1); end Backward Methed: function Forward() x=[0;1;2;3;4;5;6];
  • 2.
    y=[2;3;10;29;66;127;218]; dy=[y(2,1)-y(1,1);y(3,1)-y(2,1);y(4,1)-y(3,1);y(5,1)-y(4,1);y(6,1)- y(5,1);y(7,1)-y(6,1)]; d2y=[dy(2,1)-dy(1,1);dy(3,1)-dy(2,1);dy(4,1)-dy(3,1);dy(5,1)- dy(4,1);dy(6,1)-dy(5,1)]; d3y=[d2y(2,1)-d2y(1,1);d2y(3,1)-d2y(2,1);d2y(4,1)-d2y(3,1);d2y(5,1)- d2y(4,1)]; d4y=[d3y(2,1)-d3y(1,1);d3y(3,1)-d3y(2,1);d3y(4,1)-d3y(3,1)]; d5y=[d4y(2,1)-d4y(1,1);d4y(3,1)-d4y(2,1)]; d6y=[d5y(2,1)-d5y(1,1)]; p=(.5-0)/1; Y=y(1,1)+(((p*dy(1,1)))+((p*(p-1))/2)*d2y(1,1))+(((p*(p-1)*(p- 2))/6)*d3y(1,1))+(((p*(p-1)*(p-2)*(p-3))/24)*d4y(1,1))+(((p*(p-1)*(p-2)*(p- 3)*(p-4))/120)*d5y(1,1))+(((p*(p-1)*(p-2)*(p-3)*(p-4)*(p-5))/720)*d6y(1,1)) end Striling function Forward() x=[0;1;2;3;4;5;6]; y=[2;3;10;29;66;127;218]; dy=[y(2,1)-y(1,1);y(3,1)-y(2,1);y(4,1)-y(3,1);y(5,1)-y(4,1);y(6,1)- y(5,1);y(7,1)-y(6,1)]; d2y=[dy(2,1)-dy(1,1);dy(3,1)-dy(2,1);dy(4,1)-dy(3,1);dy(5,1)- dy(4,1);dy(6,1)-dy(5,1)]; d3y=[d2y(2,1)-d2y(1,1);d2y(3,1)-d2y(2,1);d2y(4,1)-d2y(3,1);d2y(5,1)- d2y(4,1)]; d4y=[d3y(2,1)-d3y(1,1);d3y(3,1)-d3y(2,1);d3y(4,1)-d3y(3,1)]; d5y=[d4y(2,1)-d4y(1,1);d4y(3,1)-d4y(2,1)]; d6y=[d5y(2,1)-d5y(1,1)]; p=(.5-0)/1; Y=y(1,1)+(((p*dy(1,1)))+((p*(p-1))/2)*d2y(1,1))+(((p*(p-1)*(p- 2))/6)*d3y(1,1))+(((p*(p-1)*(p-2)*(p-3))/24)*d4y(1,1))+(((p*(p-1)*(p- 2)*(p-3)*(p-4))/120)*d5y(1,1))+(((p*(p-1)*(p-2)*(p-3)*(p-4)*(p- 5))/720)*d6y(1,1)) end