Fehlermeldung "Not enough input arguments"

6 visualizaciones (últimos 30 días)
Jonte
Jonte el 2 de Mayo de 2024
Comentada: Jonte el 6 de Mayo de 2024
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)
...

Respuestas (1)

Andreas Goser
Andreas Goser el 3 de Mayo de 2024
Ich kann mir vorstellen, dass es hier einen "shadowing" Effekt gibt, da TABLE und STRUCT reservierte Begriffe sind. Bitte mal probieren diese umzubenennen.
  4 comentarios
Andreas Goser
Andreas Goser el 6 de Mayo de 2024
Ein weiterer "Shadowing" Effekt könnte sein, falls es mehrere SendMsg Funktionen gibt und MATLAB eine andere als erwartet zuerst findet.
Jonte
Jonte el 6 de Mayo de 2024
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.

Iniciar sesión para comentar.

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!