Verfasst am: 18.12.2013, 15:17
Titel: Problem mit der Übergabe von Werten
Hallo,
ich bin neu hier und nutze seit einiger Zeit Matlab für die Uni.
Habe nun schon seit einigen Tagen ein Problem mit einer Aufgabe aus unserer Übungsgruppe.
Es get um die Reaktion in einem Rührkesselreaktor A+2B--->C.
Ich kann leider meinen Fehler einfach nicht finden.
Wäre sehr dankbar wenn ihr mir weiterhelfen könntet
denn "Index exceeds matrix dimensions." Das übernommene c ist 0 (1x1), du möchtest cB aber c(2) zuweisen, was nicht geht, da es c(2) nicht gibt. Die Übergabepßarameter in auswertung.m Zeile 26 passen nicht.
Verfasst am: 19.12.2013, 13:45
Titel: Re: Problem mit der Übergabe von Werten
Hallo greenapple,
Das Posten der Fehlermeldung ist erforderlich, wenn Du Hilfestellung beim Lösen benötigst.
Der Debugger hilft sehr gut beim Finden von Problemen. Allerdings verhinderst Du den Einsatz, indem Du alle Breakpoints löschst:
Diese Art "auszuräumen" ist sinnfrei. "clear all" löscht zwar alle lokalen Variblen, am Anfang einer Funktion gibt es aber gar keine solchen. Das Löschen der breakpoints ist noch übler. Und dass damit auch alle geladenen Funktionen aus dem Speicher netfernt werde und ein zeitaufwändiges Nachladen von der Festplatte erforderlich machen, ist unpraktisch und Zeitverschwendung. Ich rate deshalb ausdrücklich und immer wieder von dieser inflationär genutzen Zeile ab.
Auch was ich an dem "cB=c(2);" ändern muss geht mir nicht ganz ein.
Habe den erwähnten Artikel überfolgen konnte aber nichts passendes diesbezüglich finden.
Durch diese Aufspaltung weise ich doch der Variablen "c" die übertragen wird mehere Werte zu die dann als Vektor übertragen werden.
Auch was ich an dem "cB=c(2);" ändern muss geht mir nicht ganz ein.
Vermutlich nichts; hat aber auch niemand geschrieben
greenapple hat Folgendes geschrieben:
Habe den erwähnten Artikel überfolgen konnte aber nichts passendes diesbezüglich finden.
Der hat mit deinem Problem auch nur insofern etwas zu tun, als dass er dir den Debugger näher bringen soll.
greenapple hat Folgendes geschrieben:
Das Problem in Zeile 26 mit dem ode45 solver verstehe ich allerdings nicht, habe ihn in der Form schon öfter verwendet und es ging bis jetzt immer.
Ich zitiere mich mal selber:
Seban hat Folgendes geschrieben:
Das übernommene c ist 0 (1x1), du möchtest cB aber c(2) zuweisen, was nicht geht, da es c(2) nicht gibt. Die Übergabepßarameter in auswertung.m Zeile 26 passen nicht.
Schau dir also an, welche Variablen du in Zeile 26 beim Aufruf der Funktion ode45 übergibst und welche Variablen du in berechnung.m verwenden möchtest.
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.