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

Fehler "Not enough input arguments" - Matrixüber

 

keks19
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 04.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2017, 12:57     Titel: Fehler "Not enough input arguments" - Matrixüber
  Antworten mit Zitat      
Hallo zusammen,

ich bin noch relativ am Anfang in Bezug auf den Umgang mit Matlab, lese aber schon seit einiger Zeit immer mal wieder hier mit und konnte so bereits auch das ein oder andere Problem lösen.

Leider habe ich mit folgendem Sachverhalt ein Verständnisproblem wie es scheint.

Ich habe eine xlsx-Datei, welche ich über das Command Window folgendermaßen einlese:
Code:
[ZS1, ~, ~] = xlsread('Datentabelle');

Damit befindet sich ZS1 (welche ja hier nur aus den Zahlenwerten der Datei 'Datentabelle' besteht) im Workspace.

Nun möchte ich ZS1 an eine Funktion übergeben, um intern Berechnungen durchzuführen.

Daher rufe ich nun meine Funktion folgendermaßen auf:

Code:
(Kein Rückgabewert beabsichtigt, ich möchte später die Ergebnisse innerhalb der Funktion direkt in die Tabelle 'Datentabelle' hineinschreiben.
(sollte möglich sein, oder?)

Wie dem auch sei, innerhalb der Funktion RL möchte ich nun u.a. den Durchschnitt einer bestimmten Spalte (hier Spalte 5) bestimmen:

Code:
Pel_AVG = sum(ZS1(1:4,5))/4;


Tippe ich exakt diese Anweisung direkt in das Command Window, erhalte ich auch das korrekte Ergebnis, lediglich bei Ausführung/ Übergabe an die Funktion RL erhalte ich die folgende Fehlermeldung

Code:
Error using RL (line 18)
Not enough input arguments.
 


Lese ich 'Datentabelle' direkt innerhalb der Funktion ein, erfolgt die Berechnung problemlos, weshalb meine Vermutung ist, dass irgendetwas mit der Übergabe an die Funktion nicht stimmt.

Wäre für jeden Tipp dankbar Confused
LG
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

wie rufst du die Funktion denn auf?
Der Run-Button kann beispielsweise nicht funktionieren, da deine Funktion ja eben ein Eingabeargument erwartet.

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

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 04.06.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.06.2017, 10:59     Titel:
  Antworten mit Zitat      
Hallo Harald,

das gewünschte Ergebnis wäre folgende Syntax
Code:
alternativ noch mit Rückgabewert alá
Code:

welche dann einfach über das Command Window per
Code:

aufgerufen werden würde.

Leider kommt dann die besagte Fehlermeldung. Testweise habe ich daher die Funktion OHNE externen input bzw. Übergabewert umgeschrieben, sprich innerhalb der Funktion nehme ich die Einlesung der Excel-Tabelle per
Code:
[ZS1, ~, ~] = xlsread('Datentabelle');

vor.

Dann funktioniert komischerweise auch alles wunderbar (nur halt, dass die Benutzerfreundlichkeit für den Fall mehrerer zu bearbeitender Excel-Tabellen sehr darunter leidet. Der Aufruf würde dann ebenfalls über das Command Window per simplem
Code:
stattfinden.

VG
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

bitte poste möglichst zusammenhängenden Code und konzentriere dich auf das, was nicht funktioniert.

Wie die Funktion aussieht, hast du ja schon geschrieben. In dem Fall sollte der genannte Aufruf
Code:

auch funktionieren, selbst wenn ich dies empfehlen würde:
Code:
result = RL(X)


Mich wundert, dass die Fehlermeldung aus Zeile 18 kommt. Hat deine Funktion denn so viele Zeilen?

Sicherheitshalber auch mal überprüfen, ob die richtige RL.m ausgeführt wird:
Code:


Grüße,
Harald
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.