Verfasst am: 13.11.2014, 16:54
Titel: error too many input arguments
Hallo,
ich habe eine Funktion "Simulation", innerhalb derer eine weitere Funktion aufgerufen wird. Leider bekomme ich immer den Fehler "too many input arguments", der von der Funktion arFitLHSrandn kommt. Ich habe es ausprobiert, wenn ich in arFitLHSrandn den Übergabeparameter n lösche, bekomme ich den Fehler beim Aufruf dieser Funktion nicht mehr. Rufe ich dann aber die Funktion "Simulation" auf, kommt der Fehler "too many output arguments" und als Fehlerquelle ist wieder die Zeile mit der arFitLHSrandn Funktion angegeben. Ich sitzte jetzt schon seit Stunden daran, aber komme nicht weiter. Kann mir irgendjemand helfen?
if(~exist('n','var') || isemtpy(n))
n = 100;
end if(~exist('log_fit_history','var'))
log_fit_history = false;
end if(~exist('backup_save','var'))
backup_save = false;
end if(~exist('use_cluster','var'))
use_cluster = false;
end if(~exist('tresh','var'))
thresh = 1e-4;
end
ps = ones(n,1) * ar.p;
n % #ok<NOPRT>
q_select = ar.qFit==1;
switchlower(sampling_strategy) case 'lhs'
psrand = lhsdesign(n,sum(q_select));
bool_lhs = ones(n,1);
case 'randn'
psrand = randn(n,sum(q_select));
bool_lhs = zeros(n,1);
otherwise
sampling_strategy % #ok<NOPRT> error('sampling strategy unknown.') end
wenn ich dein Code betrachte, dann hast du ja die Anzahl definierter Parameter von der Funktion arFitLHSrandn verändert. also von 6 auf 2.
Scheinbar hast du noch irgend wo eine Stelle vergessen anzupassen, wo noch 6 Parameter statt 2 übergeben werden. Also muss du diese Stelle suchen. In dem Code was du gepostet hast, sehe ich diese Stelle nicht.
Aber in der Fehlermeldung sollte ja genau stehen, welche Zeile den verursacht hat.
Schaue genauer hin, durch anklicken, der in Klammern stehen Zeilennummer, kannst direkt zu der Stelle gesprungen werden. Wenn du mit der Fehlermeldung nicht klar kommst, dann bitte diese Meldung hier komplett posten.
Apropos Fehler, ich haben noch einen entdeckt, du hast die Funktion ISEMPTY falsh geschrieben:
Zitat:
Undefined function 'isemtpy' for input arguments of type 'double'.
Error in arFitLHSrandn (line 5)
if(~exist('n','var') || isemtpy(n))
Ich hatte die Inputargumente anfangs auf zwei reduziert, weil ich früher einen Fehler hatte, es wären zu viele Argumente. Mit zweien ging es bisher ganz gut, erst jetzt, wo ich die arFitLHSrandn-Fkt. unter "Simulation" aufrufe, geht es nicht mehr.
Danke auch für deinen zweiten Tipp mit dem Rechtschreibfehler
Okay, das mit den Inputargumenten habe ich jetzt hinbekommen, lag irgendwie am Verzeichnis....Jetzt läuft die Simulation soweit auch, allerdings bekomme ich ganz am Ende nach 10min modellieren folgenden Fehler:
Code:
Error using arFitLHSrandn
Too many output arguments.
Error in Simulation (line10) [chi2s_randn,bool_randn] = arFitLHSrandn('randn',100);
Danke, habs nach langem Suchen gefixt bekommen, auch wenn mir immer noch nicht gan klar ist, wo der Fehler lag....
Aber Hauptsache, es läuft jetzt
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
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.