goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Handbuch der Operatoren für die Bildbearbeitung

Studierende:
Praktikum Modellgetriebene Software-Entwicklung in Matlab/Simulink
Elektrotechnik / Automatisierungstechnik
SMA Solar Technology AG - Niestetal

Abschlussarbeit: Diagnose Ansätze für Zukunftsweisende SCR-Technologie (Selektive katalytische Reduktion)
Fahrzeugtechnik
MBtech Group GmbH & Co. KGaA - Fellbach-Schmiden

Ermitteln von Kraftstoffverbrauchspotential im 6-Gang EcoLife Stufenautomat
Antriebs- und Fahrwerktechnik
ZF Friedrichshafen AG - Friedrichshafen

Modellgetriebene Software-Entwicklung für PV-Wechselrichter
Energieversorgung
SMA Solar Technology AG - Niestetal

Wiederverwendung von SW-Funktionsteilen hybridspezifischer Funktionen
Kfz-Zulieferindustrie
ZF Friedrichshafen AG - Friedrichshafen

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

2 Punkte aus den Schnitten 3er Kugeln

 

staeme
Forum-Anfänger
Forum-Anfänger

Beiträge: 20
Anmeldedatum: 16.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2011, 09:58     Titel: 2 Punkte aus den Schnitten 3er Kugeln
  Antworten mit Zitat      
Guten Tag zusammen

Ich bin daran für eine Bewegungsanalyse ein Modell zu programmieren und muss dabei einen virtuellen Punkt bestimmen, der von 3 anderen, bekannten Punkten, jeweils einen bekannten Abstand hat. Ich habe es geschafft die zwei Punkte zu finden. Nun muss ich allerdings noch herausfinden, welcher dieser beiden Punkte der richtige ist. Dafür muss ich mit den gefundenen Koordinaten weiterrechnen. Das will ich mit einer if Schleife machen. Leider wird dabei immer eine Fehlermeldung angezeigt. Hier mal der Code und die zugehörige Fehlermeldung:

Code:

 % Kugelmittelpunkte
            k1 = Markers.LSHN(i,:);
            k2 = Markers.LHFB(i,:);
            k3 = Markers.LANK(i,:);
            % Radien
            r1 = LSHMA;
            r2 = LHFMA;
            r3 = LANMA;
            syms x y z;
            % Kreisgleichungen
            k1 = (x - k1(1))^2 + (y - k1(2))^2 + (z - k1(3))^2;
            k2 = (x - k2(1))^2 + (y - k2(2))^2 + (z - k2(3))^2;
            k3 = (x - k3(1))^2 + (y - k3(2))^2 + (z - k3(3))^2;

            gleichung1 = [char(k1),'=',num2str(r1^2)];
            gleichung2 = [char(k2),'=',num2str(r2^2)];
            gleichung3 = [char(k3),'=',num2str(r3^2)];
           
            sol = solve(gleichung1,gleichung2,gleichung3);
   
                       
% Schnittpunkte
            % 1. Schnittpunkt
            sol1 = [sol.x(1) sol.y(1) sol.z(1)];
            % 2. Schnittpunkt
            sol2 = [sol.x(2) sol.y(2) sol.z(2)];
           
% Bestimmen welcher der beiden es wirklich ist
            xober = (Markers.LANK(i,1)+MetaData.children.PROCESSING.children.LAnkleWidth.info.values);
            xunder = (Markers.LANK(i,1)+sin(45)*MetaData.children.PROCESSING.children.LAnkleWidth.info.values);
            yober = (Markers.LANK(i,2) - sin(45)*MetaData.children.PROCESSING.children.LAnkleWidth.info.values);
            yunder = (Markers.LANK(i,2)+sin(45)*MetaData.children.PROCESSING.children.LAnkleWidth.info.values);
           
LMMA(i,:) = NaN(size(Markers.LSHN,1),size(Markers.LSHN,2));
                if xober(1,1) >= (sol1(1)) > xunder(1,1) && yober(1,1) < sol1(i,2) < yunder(1,1)
                    LMMA(i,:) = sol1;
                else  LMMA(i,:) = sol2;
                end

 


Code:

% Fehlermeldung

??? Error using ==> sym.sym>notimplemented at 2621
Function 'ge' is not implemented for MuPAD symbolic objects.

Error in ==> sym.sym>sym.ge at 823
            notimplemented('ge');

 


Das scheint ja was damit zu tun zu haben, dass ich X Y und Z des gesuchten Punktes mit syms definiert habe. Ist es irgendwie möglich die Werte der 2 Punkte vom symbolstatus zu trennen, den sie durch 'syms' zugewiesen bekommen haben?

Herzlichen Dank schon im voraus für eure antworten.
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator
Moderator

Beiträge: 3871
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 6.5, 2009a
     Beitrag Verfasst am: 16.11.2011, 12:38     Titel: Re: 2 Punkte aus den Schnitten 3er Kugeln
  Antworten mit Zitat      
Hallo staeme,

In der "See also"-Zeile von "help sym" wird der Befehl DOUBLE erwähnt. Diese Zeile ist oft hilfreich, da sie die Befehle enthält, die im Zusammenhang mit Fragen oft benötigt werden.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
staeme
Themenstarter

Forum-Anfänger
Forum-Anfänger

Beiträge: 20
Anmeldedatum: 16.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2011, 17:06     Titel:
  Antworten mit Zitat      
Hallo Jan

Merci für die Antwort. Mit Double funktioniert es jetzt.

Ich wünsche dir noch einen schönen Abend.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.