Verfasst am: 02.12.2008, 17:39
Titel: Kreis plotten bzw Koordinaten plotten
Hi,
zwei Fragen:
a) wenn ich ermittelte Werte für x, y habe und diese auf einem Kreis liegen (x also mehr als einen Wert haben kann!), wie plotte ich das?!
Um einen Kreis zu plotten, benötigst du Mittelpunkt und Radius. Den Mittelpunkt berechnest du aus dem Schwerpunkt (bzw. Mittelwert der Koordinaten), den Radius über den Mittelwert der euklidischen Distanz zwischen dem Mittelpunkt und den Werten.
Code:
x=[3;5;5;7];
y=[3;1;5;3];
xm = mean(x); % mittelpunkt x
ym = mean(y); % mittelpunkt y
Warning: Function failed to evaluate on array inputs; vectorizing the function may
speed up its evaluation and avoid the need to loop over array elements.
Kann ich das beschleunigen? Geht darum, dass ich Input-Daten habe und die Daten an eine Funktion anpasse - hier eben ein Kreis. Die Outputs sind Mittelpunkt und Radius.
Dann möchte ich eben Input-Daten und BestFit-Kreis übereinander plotten.
Sieht aktuell so aus:
Code:
function[xy, r] = FitCircle(x, y) % --------------------------------------------------------------- % FitCircle.m
%
% Lineares Ausgleichsproblem (Least-Square) in der Ebene: Kreis
%
% Autor Markus Lorenz % --------------------------------------------------------------
%
% Input-Parameter x - Vektor der x-Koordinaten % y - Vektor der y-Koordinaten
%
% Output-Parameter xy - Koordinaten des Kreismittelpunktes % r - Radius des Kreises
%
% Aufruf [xy, r] = FitCircle(x, y) % mit z.B. (x, y) = ([1;3;6],[9;3;1]) % --------------------------------------------------------------
% Fehlerprüfung Länge(x) = Länge(y)? iflength(x)~=length(y) error('FEHLER: Länge der Eingabevektoren sind nicht identisch!');
else
warum es mit ezplot nicht funktioniert, steht im Hilfetext von ezplot:
Code:
EZPLOT Easy to use function plotter
% [...] EZPLOT(FUN2) plots the implicitly defined function FUN2(X,Y) = 0 over
the default domain -2*PI < X < 2*PI and -2*PI < Y < 2*PI.
Es werden offenbar nur x-Werte zwischen -2pi und 2pi dargestellt. Das ist zwar keine Lösung für Dein Problem, aber zumindest eine Erklärung.
Davon abgesehen finde ich Deinen Lösungsansatz zur Schätzung eines ausgleichenden Kreises nach vermittelnden Beobachtungen (FitCircle) sehr interessant. Kannst Du mir dazu ggf. eine Literaturstelle nennen?
Einstellungen und Berechtigungen
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.