Fehlermeldung "Not enough input arguments"

5 vues (au cours des 30 derniers jours)
Jonte
Jonte le 2 Mai 2024
Commenté : Jonte le 6 Mai 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)
...

Réponses (1)

Andreas Goser
Andreas Goser le 3 Mai 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 commentaires
Andreas Goser
Andreas Goser le 6 Mai 2024
Ein weiterer "Shadowing" Effekt könnte sein, falls es mehrere SendMsg Funktionen gibt und MATLAB eine andere als erwartet zuerst findet.
Jonte
Jonte le 6 Mai 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.

Connectez-vous pour commenter.

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!