|
[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 |