in px_mitte,n und li stehen nur double Werte, in einem 1063x1 Vektor
alle sind also gleich groß. li unterscheidet sich nur insofern von den anderen, dass anfangs überall NaN steht und später durch eine Zahl ersetzt wird, die erst berechnet wird.
d.h. im ersten durchlauf einer for-Schleife ist dort nur an der ersten Stelle eine Zahl sonst NaN.
Ich habe jetzt mal sonstigen Code weggelassen, da es nicht wirklich relevant ist hoffe ich.
edit:
Mein Problem liegt darin, dass ich die Fehlermeldung in dem Zusammenhang nicht verstehe. Bisher ist sie aufgetaucht, wenn ich Matrizen verschiedener Größe addieren wollte oder so. Was hier nicht der Fall ist.
Das ist schon mal ein guter Anfang zum Debuggen. Offensichtlich gibt es aber trotzdem ein Problem. Versuche mal dies:
Code:
try
Si(:,1) = ppval(px_mitte,xm) + li(:,1) .* n(:,1);
catch ME
size(Si) size(xm)% <- Ich vermute, dass dies eine Matrix ist? size(ppval(px_mitte,xm)) size(li(:,1) .* n(:,1))
throw(ME);
end
end try
Si(:,1) = ppval(px_mitte,xm) + li(:,1) .* n(:,1);
catch ME
eins= size(Si)
zwei= size(xm)% <- Ich vermute, dass dies eine Matrix ist?
drei = size(ppval(px_mitte,xm))
vier = size(li(:,1) .* n(:,1))
throw(ME);
end
Ich glaube der Fehler liegt darin, das Si davor schon bestimmt ist und dies größer ^^
ja das dürfte der grund sein. 4000 elementen 1000 zuzuweisen klappt halt nicht.
Zitat:
der Fehler tritt in einer Testfunktion auf, und Si war noch im Workspace mit einer anderen größe
das sollte keinen einfluss haben da funktionen einen eigenen variablenraum haben.
wenn du si nicht an die funktion übergiebst ist sie da auch nicht bekannt.
_________________
hmmm, dann kann es vielleicht daran liegen, dass ich davor eine andere Schrittweite hatte (xm) und dafür alle Werte größer waren und das größere Si deshalb noch im Workspace lag.
Aber eigentlich ist der Workspace doch nach dem neustart von matlab wieder leer oder?
Ob der Workspace "eigentlich" leer ist, kannst Du mit dem
who
Befehl leicht überprüfen.
Ich verwenden grundsätzlich immer Funktionen und niemals Scripte, um die Probleme mit eventuell existierenden Variablen zu umgehen.
Gruß, Jan
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.