Fehlermeldung "Not enough input arguments"

조회 수: 5 (최근 30일)
Jonte
Jonte 2024년 5월 2일
댓글: Jonte 2024년 5월 6일
Hi!
Ich bin aktuell dabei, ein Matlab Script zu entwickeln, welches eine struct ausliesst und daraufhin ein Simulink Modell erstellt. Hierzu hab ich einiges in Funktionen ausgelagert. Beim Aufrufen kommt hierbei die Fehlermeldung "Not enough input arguments".
Der Fehler tritt bei "SendMsg(n, modelname, table, struct);" auf. Wie ich das verstehe, müssten aber vier Argumente übergeben werden, die auch gefordert werden. Im Debug Modus existieren auch zum Funktionsaufruf alle vier Argumente.
Über Hilfe würde ich mich sehr freuen!
function Hauptscript(modelname)
if nargin == 0
modelname = 'untitled';
end
[struct] = Setup(modelname);
table = struct2table(struct.messages);
i = height(table);
for n = 1:1:i
SendMsg(n, modelname, table, struct);
end
end
%Ab hier eigene function Datei
function SendMsg(n, modelname, table, struct)
...

답변 (1개)

Andreas Goser
Andreas Goser 2024년 5월 3일
Ich kann mir vorstellen, dass es hier einen "shadowing" Effekt gibt, da TABLE und STRUCT reservierte Begriffe sind. Bitte mal probieren diese umzubenennen.
  댓글 수: 4
Andreas Goser
Andreas Goser 2024년 5월 6일
Ein weiterer "Shadowing" Effekt könnte sein, falls es mehrere SendMsg Funktionen gibt und MATLAB eine andere als erwartet zuerst findet.
Jonte
Jonte 2024년 5월 6일
Ich hab leider kein schönes Beispiel erstellen können, womit sich das schön zeigen lässt, ich hab allerdings etwas gefunden, woran es liegen könnte.
Und zwar lese ich ja eine Struktur ein, welche ich durch das Einlesen einer yaml-Datei erstelle. In dieser ist eine Struktur enthalten, aus welcher ich die Tabelle erstelle, a lá Tabelle = struct2table(Struktur.Substruktur). Wenn ich hier die Ursprüngliche Struktur nutze und nicht die Substruktur, dann tritt dieser Fehler nicht auf.
An den Namen sollte es nicht liegen, da ich jetzt alle Namen ersetzt habe.

댓글을 달려면 로그인하십시오.

제품


릴리스

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!