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

Matlab funktion pdist(x)

 

Martin Henne

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2015, 18:53     Titel: Matlab funktion pdist(x)
  Antworten mit Zitat      
Hallo,

ich habe ein Problem mit der Funktion pdist. Ich wundere micht total über die Rückgabewerte.

Ich habe eine Abstandsmatrix zwischen drei Städten zum Beispiel

D = [ 0 587 1212;
587 0 920 ;
1212 920 0 ];

und wenn ich dann pdist(D) eigebe kommen folgende Werte heraus:

ans =

880 1746.1 1443.4

Aber das sind ja eindeutig nicht die Abstände. Verstehe ich die Funktion pdist() vielleicht nicht richtig, aber da sollten doch die Abstände der Punkte zurück gegeben werden?

Wäre super, wenn jemand eine Antowrt dafür hat.
Gruß, Martin


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.08.2015, 19:28     Titel:
  Antworten mit Zitat      
Hallo,

du hast doch schon eine Distanzmatrix.

Aus der Doku:
Zitat:
D = pdist(X) computes the Euclidean distance between pairs of objects in m-by-n data matrix X. Rows of X correspond to observations, and columns correspond to variables.

Das wird wohl bei deiner Matrix kaum das sein, was du möchtest. Die Frage ist nur:
Was erwartest du denn als Rückgabe?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin Henne

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2015, 19:36     Titel:
  Antworten mit Zitat      
Ich möchte diese Distanzmatrix mit anderen Daten vergleichen, weshalb ich die Matrix gerne in der Form hätte welche pdist() zurückgiebt.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.08.2015, 19:48     Titel:
  Antworten mit Zitat      
Hallo,

und welche Ergebnisse genau möchtest du in dem konkreten Fall?
Du schreibst ja im ersten Beitrag, dass pdist nicht die gewünschten Ergebnisse liefert. Dann ergibt es für mich wenig Sinn, wenn du nun schreibst, dass du Ergebnisse wie in der Form von pdist möchtest.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin Henne

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.08.2015, 21:31     Titel:
  Antworten mit Zitat      
Hallo Harald,

tut mir leid, dass es ein wenig verwirrend ist. Also ich möchte die Form haben, die pdist() zurückgibt. Allerdings kann ich die Werte, die ich zurückbekomme nicht interpretieren. Wie in meinem Beispiel stimmt ja die Form, allerdings sind die Werte nicht die Distanzen sondern irgend etwas anderes.

Vielen Dank für die Hilfe Smile
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.08.2015, 22:35     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
allerdings sind die Werte nicht die Distanzen

Die Werte sind sehr wohl Distanzen, und zwar genau so wie dokumentiert. Der erste Wert ergibt sich z.B. als
Code:
sqrt((587 - 0)^2 + (0 - 587)^2 + (1212 - 920)^2)
ans =
  880.0011


Sag doch bitte, welche Ergebnisse du hier haben möchtest.
Du willst Distanzen, pdist liefert Distanzen. Du willst andere Distanzen, dann musst du eben auch sagen, welche.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.08.2015, 15:51     Titel: Re: Matlab funktion pdist(x)
  Antworten mit Zitat      
Hallo Martin Henne,

Bitte poste, welches Ergebnis Du für Dein Beispiel erwartest:
Code:
D = [    0  587 1212;
       587    0    920  ;
      1212  920    0 ];

Das Ergebnis von pdist ist genau das, was man erwartet. Wenn dies für Dich nicht passt, benötigen wir noch eine Erklärung, was Du statt dessen suchst.

Gruß, Jan
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.