% Angewandte Numerik 2, Wintersemester 2017/2018, 20.10.2017 % Uebungsblatt 01, Aufgabe 04: Kubische Splines % Hauptprogramm: % Liest die Punkte (also Knoten mit Funktionswerten) ein, % berechnet einen kubischen Spline durch diese Punkte und % plottet den berechneten Spline in die Grafik. %% Initialisierungen clear; % alle Variablen loeschen close all; % alle Grafik-Fenster schliessen clc; % command window loeschen axis([0 10 0 10]) % darzustellender Bereich fuer x- und y-Achse hold on % xy: Matrix mit den eingegebenen Punkten, fuer jeden Knoten eine Spalte % 1. Zeile: die x-Werte % 2. Zeile: die zugehörigen y-Werte % n: Anzahl der eingegebenen Punkte xy = []; % noch keine Punkte eingegeben n = 0; %% Eingabe der Punkte: Schleife, danach sortieren fprintf('\n'); fprintf('Angewandte Numerik II, Wintersemester 2017/2018\n'); fprintf('Aufgabe 04: Kubische Splines\n'); fprintf('\n'); fprintf('Eingabe der Punkte mit der linken Maustaste,\n'); fprintf('letzter Punkt mit der rechten Maustaste.\n'); fprintf('\n'); button = 1; % linke Maustaste hat den Wert 1 while button == 1 % solange die linke Maustaste verwendet wurde [xi,yi,button] = ginput(1); % ginput(m) liest m Punkte ein, % also einen Punkt einlesen plot(xi,yi,'ro') % diesen anzeigen, n = n+1; % zaehlen und xy(:,n) = [xi;yi]; % in der Matrix abspeichern end [T,ind] = sort(xy(1,:)); % T: die Knoten (x-Werte) sortiert Y = xy(2,ind); % Y: die zugeh. Y-Werte in gleicher Reihenfolge %% Berechnung der Koeffizientenmatrix des interpolierenden kubischen Splines % To Do fprintf('Berechnung der Koeffizientenmatrix noch nicht implementiert.\n'); %% Plot des berechneten Splines in das aktuelle Grafikfenster % To Do fprintf('Plotten des berechneten Splines noch nicht implementiert.\n'); fprintf('\n'); hold off