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

Problem mit dem MEX Interface

 

clustering_n00b
Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 12.09.2012, 09:29     Titel: Problem mit dem MEX Interface
  Antworten mit Zitat      
Hallo zusammen! Very Happy


Ich poste hier nach langer Zeit wieder Smile

Ich bin gerade daran ein Stück Code zu verstehen, das von jemand anderem geschrieben wurde (mühsam!). Der Code befindet sich hier und kann unter folgendem Link heruntergeladen werden.

Im Readme folder steht, man soll ins /src wechseln und dort main.m laufen lassen.

Jedoch bekomme ich die folgende Fehlermeldung:
Zitat:

??? Undefined function or method 'mpi_kmeans_mex' for input arguments of type
'double'.

Error in ==> mpi_kmeans at 51
[CX,sse,assignment] = mpi_kmeans_mex(X, initcenters, maxiterations, nr_restarts,
w);

Error in ==> ClusterTerm>callClusteringMethod at 49
[clusterMean sse] = mpi_kmeans(estDiffuse', k, 0, restarts);

Error in ==> ClusterTerm>initializeCluster at 56
clusterMean = callClusteringMethod(estDiffuse, parameter.k, ...

Error in ==> ClusterTerm at 9
self = initializeCluster(self, img, parameter, r);

Error in ==> main at 73
opts.energyStack{end+1} = ClusterTerm(img, parameter, opts, r);



Ich vermute, dass das irgendwas mit dem MEX-Interface zu tun hat. Muss man speziell die Interpretation von MEX Files in MATLAB enabeln?


Freue mich auf Debugging-Vorschläge! Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

die erste Frage wäre: gibt es überhaupt eine Datei, die auch nur annähernd so heißt wie die, die nicht gefunden werden konnte?

Wenn du Code von einer Seite runterlädst, die eindeutig einer Person zuzuordnen ist, würde ich es ja für das sinnvollste halten, diese Person zu kontaktieren. Derjenige dürfte sein Projekt schließlich am besten kennen, und er kann dann ggf. die Anleitung deutlicher formulieren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
clustering_n00b
Themenstarter

Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 12.09.2012, 19:23     Titel:
  Antworten mit Zitat      
Hi Harald!


Die Datei 'mpi_kmeans_mex.cxx' befindet sich im Ordner /lib/mpi_kmeans-1.6/.

Ich würde sehr gerne den Autor kontaktieren, aber ich möchte zuerst sicherstellen, dass das Problem nicht in meinem System liegt, eben wie z.B. das man irgendwas in MATLAB einstellen muss um das MEX Interface zu benutzen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

das naheliegendste wäre auf den ersten Blick, dass du den Code zunächst selbst kompilieren musst.
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
clustering_n00b
Themenstarter

Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 12.09.2012, 19:39     Titel:
  Antworten mit Zitat      
Das mit dem Kompilieren
Code:
habe ich schon versucht (für alle .cxx Dateien in /lib), aber jedesmal bekomme ich einen Error:

Zitat:
Unable to complete successfully.



Interessanterweise sind aber schon zwei filename.mexa64 Dateien enthalten, also muss die Kompilierung schon gemacht worden sein.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

kommen keine weiteren Informationen? Nur "unable to complete successfully"?

64 sieht nach 64 bit aus. Du arbeitest schon mit einem 64 bit System?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
clustering_n00b
Themenstarter

Forum-Century

Forum-Century


Beiträge: 129
Anmeldedatum: 05.09.11
Wohnort: ---
Version: R2011a, R2012b
     Beitrag Verfasst am: 12.09.2012, 20:03     Titel:
  Antworten mit Zitat      
Ja, arbeite an einem Mac Book Aor mit Core 2 Duo Prozessor - 64 bit.
Doch, doch. Da kommt noch einiges. Nur 2 Beispiele hier:

Code:
mex mpi_assign_mex.cxx

Zitat:
Undefined symbols:
"assign_point_to_cluster_ordinary(double const*, double const*, unsigned int, unsigned int)", referenced from:
_mexFunction in mpi_assign_mex.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

mex: link of ' "mpi_assign_mex.mexmaci64"' failed.

??? Error using ==> mex at 208
Unable to complete successfully.


Code:
mex mpi_kmeans_mex.cxx

Zitat:

mpi_kmeans_mex.cxx: In function 'void mexFunction(int, mxArray**, int, const mxArray**)':
mpi_kmeans_mex.cxx:149: error: 'mxCreateScalarDouble' was not declared in this scope

mex: compile of ' "mpi_kmeans_mex.cxx"' failed.

??? Error using ==> mex at 208
Unable to complete successfully.
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.