für die Uni soll ich ein Programm schreiben, das zu n+1 Stützstellen und den zugehörigen Werten, die Funktion f(x)=sqrt(x), das zugehörige Interpolationspolynom und den linearen Spine für n=4 auswertet.
Ich bin selbst nicht wirklich gut in Matlab, habe es aber immerhin halbwegs geschafft ein Programm zu schreiben, das die Newton Interpolation macht und anschließened plotten.
Allerdings hänge ich beim linearen Spine. Wir dürfen den Matlab-Befehl interp1 nicht benutzen und müssen den Algorithmus selbst schreiben. Ich denke sogar, dass er funktioniert. Aber wie plotte ich das jetzt??
Bitte um Mithilfe!!!
Danke!!
Code:
function F = divided_diff(x,y,p) syms p;
x=[1,4,9,16,25];
y=sqrt(x);
%getting the number of points from the x-vector
n = size(x,1);
if n == 1
n = size(x,2);
end
%DividierendeDifferenzen
for i = 1:n
F(i,1) = y(i);
end for i = 2:n
for j = 2:i
F(i,j)=(F(i,j-1)-F(i-1,j-1))/(x(i)-x(i-j+1));
end end
%Erstellen der Polynome
fp = F(n,n);
for i = n-1:-1:1
fp = fp*(p-x(i)) + F(i,i);
disp('p(i)=');
disp(fp);
end
%Auswertung an Stelle x0
x0=input('gewünschte Stelle x0 zur Auswertung angeben\n')
fx0 = F(n,n);
for i = n-1:-1:1
fx0 = fx0*(x0-x(i)) + F(i,i);
disp('p(x0)=');
disp(fx0);
end
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.