[Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen] | |
Mathematik-Online-Lexikon: | |
Funktion zur Berechnung einer Ausgleichsgeraden |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | Übersicht |
function [m,c]=ausgleichsgerade(X,Y) %AUSGLEICHSGERADE Berechnung einer Ausgleichsgeraden % % Input : X,Y Vektoren mit Messpunktdaten % Output: m,c Koeffizienten der Ausgleichsgeraden % Ausgleichsgerade berechnen K=[X(:),ones(length(X),1)]\Y(:); m=K(1); c=K(2); % Ausgleichsgerade visualisieren figure plot(X,Y,'ro') hold on plotx=[min(X),max(X)]; plot(plotx,m*plotx+c); title(sprintf('y=%gx+%g',m,c)) box on
Aufrufvarianten für die in der Datei ausgleichsgerade.m gespeicherte Funktion:
>> X=rand(1,10); >> Y=rand(1,10); >> [m,c]=ausgleichsgerade(X,Y) m = -0.0759 c = 0.5486 >> ausgleichsgerade(rand(10,1),rand(10,1)) ans = -0.1366
Darstellung der Kommentare im Funktionskopf mittels lookfor und help:
>> lookfor Ausgleichsgerade AUSGLEICHSGERADE Berechnung einer Ausgleichsgeraden >> help ausgleichsgerade AUSGLEICHSGERADE Berechnung einer Ausgleichsgeraden Input : X,Y Vektoren mit Messpunktdaten Output: m,c Koeffizienten der Ausgleichsgeraden
Wiederkehrenden Aufgaben innerhalb einer Funktion können in lokale Funktionen ausgelagert werden. Dieses Konzept kann auch zur besseren Strukturierung der Teilaufgaben verwendet werden. Zu beachten ist jedoch der Mehraufwand bedingt durch das Kopieren der Parameter beim Aufruf lokaler Funktionen.
Beispiel einer (nicht besonders sinnvollen) Strukturierung mittels lokaler Funktionen:
function [m,c]=ausgleichsgerade(X,Y) %AUSGLEICHSGERADE Berechnung einer Ausgleichsgeraden % % Input : X,Y Vektoren mit Messpunktdaten % Output: m,c Koeffizienten der Ausgleichsgeraden [m,c]=ag_berechnen(X,Y); ag_visualisieren(X,Y,m,c); % lokale Funktion zum Berechnen der Ausgleichsgeraden function [m,c]=ag_berechnen(X,Y) K=[X(:),ones(length(X),1)]\Y(:); m=K(1); c=K(2); % lokale Funktion zur Visualisierung der Ausgleichsgeraden function ag_visualisieren(X,Y,m,c); figure plot(X,Y,'ro') hold on plotx=[min(X),max(X)]; plot(plotx,m*plotx+c); title(sprintf('y=%gx+%g',m,c)) box on
automatisch erstellt am 12. 1. 2007 |