WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Koordinatentransformation eines berechneten Kreises

 

Caro_A91
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 25.10.23
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2023, 08:50     Titel: Koordinatentransformation eines berechneten Kreises
  Antworten mit Zitat      
Hallo liebe Leute,

ich habe gerade erst wieder angefangen mich mit Matlab zu beschäftigen (Studium ist schon ein paar Jahre her...) und steh gleich vor meinem ersten Problem.

Ich muss den Abstand von (Farb)Koordinaten bewerten, im geforderten Koordinatensystem ist dieser jedoch nicht gleichabständig, sondern ellipsenförmig, wobei sich Form und Größe der Ellipse je nach Farbwert ändern (yippieh). Am einfachsten ist es, die Farbwerte in ein anderes Koordinatensystem zu transformieren, hier sind es gleichmäßige Abstände, also ein Kreis um den zu bewertenden Wert. Soweit funktioniert alles. Im Anschluss müssen die Koordinaten des Kreises wieder in das andere Koordinatensystem zurücktransformiert werden und man hat die gesuchte Ellipse. Das funktioniert leider nicht und ich weiß nicht wieso... Könnt ihr mir helfen?

Code:

%%Festlegen der CyCx Werte und Anzahl SDCM
Cx_0=0.3333; %Cx Wert für den die SDCM Berechnet werden soll
Cy_0=0.3333; %Cy Wert für den die SDCM Berechnet werden soll

Anz_SDCM=3; %% Anzahl der SDCM Ellipsen
r=0.0011; %%Radius 1 SDCM in u'v'
R=Anz_SDCM*r;

Kreisberechung u'v'
theta=linspace(0,2*pi);
u=R*cos(theta)+u_prime(Cx_0,Cy_0);
v=R*sin(theta)+v_prime(Cx_0,Cy_0);
plot(u,v)

%%Rekonvertierung
Cx=9*u/(6*u-16*v+12);
Cy=4*v/(6*u-16*v+12);
plot(Cx,Cy)

%Diese Funktion berechnet u' aus Cx und Cy
function u_prime=u_prime(Cx,Cy)
u_prime=4*Cx/(-2*Cx+12*Cy+3);
end
%Diese Funktion berechnet v' aus Cx und Cy
function v_prime=v_prime(Cx,Cy)
v_prime=9*Cy/(-2*Cx+12*Cy+3);
end
 


Danke Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.484
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.10.2023, 09:26     Titel:
  Antworten mit Zitat      
Hallo,

ein Problem, das ich sehe: du solltest an zwei Stellen ./ statt / verwenden.
Code:
Cx=9*u./(6*u-16*v+12);
Cy=4*v./(6*u-16*v+12);


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Caro_A91
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 25.10.23
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2023, 09:31     Titel:
  Antworten mit Zitat      
Oh man, so simpel, so richtig Very Happy
Danke!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.