Info
This question is closed. Reopen it to edit or answer.
What is the problem for the following code?
    1 view (last 30 days)
  
       Show older comments
    
clc; clear all; close all;
fprintf('\n************************************************************');
fprintf('\n*** Interpolation by Newtons Forward Difference Formula  *'); fprintf('\n************************************************************'); 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('\t\tY%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 fprintf('\n\t Forward Differance Table');
%% Print Forward Differance Table offset=1; for i=0:n*2-2 index=floor(i/2); fprintf("\t\t") if mod(i,2)==0 fprintf('\n %.6f',x(index+offset)); end if n>i j_max=i else j_max=n*2-i-1 end
    for j=0:j_max
        if mod(i,2)==mod(j,2)
        fprintf('\t\t%.6f',diff(index-j/2+offset,j+offset));
        end
    end
end
0 Comments
Answers (1)
  Walter Roberson
      
      
 on 27 Nov 2020
        h = input('\nEnter step size (h) = ') x(1) = input('\nx0 = ');
You need a comma or a semi-colon between those two commands.
Better yet would be to format your code with one command per line. Whitespace is free, but the cost of a human trying to figure out what your run-on code does is not free.
5 Comments
  Walter Roberson
      
      
 on 27 Nov 2020
				Change
fprintf('\t\t%.6f',diff(index-j/2+offset,j+offset));
to
fprintf('\t\t%.6f',diff(index-floor(j/2)+offset,j+offset));
  Walter Roberson
      
      
 on 27 Nov 2020
				By the way, my belief is that the original C code had bugs.
Difficult to be sure, though, due to the lack of documentation... it is always possible that it had strange design requirements and was manually optimized to fit those requirements, and so only looks like it has mistake piled on mistake.
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
