|
|
|
Undefined function or method |
|
| Lloyd Blankfein |

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 23.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.10.2011, 18:27
Titel: Undefined function or method
|
 |
Hallo,
ich habe diese simple Funktuion geschrieben:
Wenn ich die Funktion von der Kommandozeile aus aufrufe erhalte ich diese Fehlermeldung:
>> translate_char2Dbl('Natural Logarithm')
??? Undefined function or method 'translate_char2Dbl' for input arguments of type 'char'.
Der Pfad in welchem sich die Funktion befindet ist mit set path gesetzt.
Ich hab keine Ahnung was hier schief läuft
Vielen Dank für eure Hilfe!
|
|
|
|
Verschoben: 31.10.2011, 18:33 Uhr von Jan S Von Bugs MATLAB nach Programmierung |
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 31.10.2011, 18:37
Titel: Re: Undefined function or method
|
 |
Hallo Lloyd Blankfein,
Was ist "set path"? Den Pfad erweitert man mit "addpath".
Bei mir erzeugt die Funktion dann die Fehelermeldung:
| Zitat: |
??? SWITCH expression must be a scalar or string constant.
Error in ==> asd at 2
switch varargin |
"varargin" ist ein CELL Vektor. Deshalb benötigt man "switch varargin{1}".
Ebenso muss auf varargout als CELL definiert werden.
Gruß, Jan
|
|
|
|
| Lloyd Blankfein |
Themenstarter

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 23.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.10.2011, 19:13
Titel:
|
 |
Hallo Jan,
über das Menü - file set path, teilt man Matlab mit in welchen Verzeichnissen sich die Systembibliotheken wie z. B. die diversen Toolboxen befinden. Natürlich kann man auch jede andere Funktion auf diese Weise verlinken. Man kann danach die gewünschte Funktion 'überall' in Matlab aufrufen, ohne vorher den Matlabarbeitspfad wechseln zu müssen.
Mit
tritt der Fehler weiterhin auf.
Gruß,
Lloyd
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.10.2011, 19:57
Titel:
|
 |
Hallo,
gehe doch mal zum Test in das Verzeichnis, in dem sich die Funktion befindet.
Achte zudem darauf, dass der Dateiname dem Funktionsnamen entspricht, da der Dateiname entscheidend für den Aufruf ist.
Grüße,
Harald
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 31.10.2011, 21:44
Titel:
|
 |
Hallo Lloyd Blankfein,
Die Fehlermeldung sagt eindeutig, dass sich kein File mit dem Namen "'translate_char2Dbl.m" im Matlab-Pfad befindet. Entweder Dein File heißt anders oder Du hast den Ordner nicht in den Pfad eingebunden. Dies kann man mit WHICH testen:
Zudem könnte das File noch in einem Ordner stehen, der mit @ beginnt, z.B. @double. Dann wird die Funktion tatsächlich nicht für CHAR Inputs gewählt.
Gruß, Jan
|
|
|
|
| Lloyd Blankfein |
Themenstarter

Forum-Century
|
 |
Beiträge: 149
|
 |
|
 |
Anmeldedatum: 23.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.11.2011, 09:55
Titel:
|
 |
Hallo Jan & Harald,
sorry das ich eure Zeit verschwendet habe. Das mfile hieß anders als die Funktion.
Weshalb muss in Matlab jede Funktion in einem separaten mfile gespeichert werden?
Danke & viele Grüße,
Lloyd
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.11.2011, 10:04
Titel:
|
 |
Hallo,
warum dies so ist, kann ich auch nicht beantworten; ich sehe jedoch kein Problem darin, da man die Hilfsdateien in ein Verzeichnis legen und das private nennen oder es auf den Suchpfad aufnehmen kann.
Nochmal zum ursprünglichen Problem: es gibt in MATLAB-Editor ein integriertes Code-Analyse-Tool, das auf potentielle Probleme hinweist. Wenn der Funktionsname anders lautet als der Dateiname, ist der Funktionsname orange hinterlegt, um auf dieses Problem hinzuweisen.
Grüße,
Harald
|
|
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
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.
|
|