Hallo Zusammen, ich bin neu in diesem Forum, nach lange Recherchen bin auf euch gelandet. Ich hoffe ihr koennt mir helfen: Ich habe das folgende Program zu loesen und versuche es fuer verchieden U zu variieren wie ihr in das Programm code sehen werdet, nur bekomme ich staendig folgende Fehler Attempted to access zahl(1); index out of bounds because numel(zahl)=0. Verstehe aber nicht woher es kommt, da die Differentialgleichung in der Funktion nonlinearrest stimmt. Bin verzweifelt. Danke euch im Voraus Lara
:
Verschoben durch Moderator
Sorry, hatte die zweite Datei vergessen. Lara
Wenn Du schon globale Variablen verwenden möchtest, musst Du die auch alle in sämtlichen Funktionen, die sie verwenden deklarieren. In Deinem Fall ist "zahl" nicht in der Funktion "testDissjwibbeler_k_mems_var_Uac" als global deklariert. BTW: Deine Frage ist im Unterforum "Mechanik, Gehäuse, Werkzeug" übrigens falsch aufgehoben.
Sorry, wusste nur nicht wohin damit, habe leider nicht allzuviel im Forum geschaut; denn bin zu froh gewesen ein Matlab-Forum zu finden. danke juwe fuer den Hinweis ich habe es selbst mitlerweile bemerkt, jetzt taucht aber ein anderes Problem auf und zwar: 1) ich habe 2 Schleifen in meine Hauptprogramm , die innere sollte normalerweise 7 mal durchlaufen und die zweite 3 mal=Anzahl der Parameter: aber es laueft fuer nur 1 parameter sogar 2 bis 3 mal. ich verstehe aber nicht warum, wie kann ich mein Programmcode debbugen so dass ich es sehe. 2) wie kann ich es eleganterweise in mein Programm(fuer unterschiedliche U) mehrere Plots mit unterschiedliche Farben bekommen Ich lade jetzt die neue Version Danke fuer die Hilfe
mehrere plots: figure(1) clf; hold on; plot(x_werte(1),y_werte(1),'k'; plot(x_werte(2),y_werte(2),'b'; plot(x_werte(3),y_werte(3),'g'; plot(x_werte(4),y_werte(4),'c'; Zu Grafiken: das Buch Graphics and GUIs with MATLAB (http://www.amazon.de/Graphics-GUIs-MATLAB/dp/1584883200/ref=sr_1_1?ie=UTF8&qid=1364249575&sr=8-1) sieht zwar recht altbacken aus, da steht aber alles drin, was du wissen musst (und noch viel mehr). Das Buch findet man auch als .pdf im Internet.
Nachtrag: wenn du mehrere parameter der Funktion übergibst, also sie deklarierst mit function [x,y,z] = mein_Funktionsname(Param1,Param2,Param3) kannst du die Funktion mit 0..3 Parametern aufrufen und mit for i=1:nargin machwas end machwas so oft ausführen, wie du Parameter der Funktion übergeben hast.
Hallo, sdggfd j. schrieb: > wie kann ich mein Programmcode debbugen wenn du größeres mit Matlab vor hast solltest Du Dich auf jeden Fall mit dem Debugger vertraut machen. Einen Breakpoint kannst Du wie im Anhang gezeigt setzen. Wenn die betreffende m-Datei aufgerufen wird, wird die Bearbeitung an dem Breakpoint angehalten. Anschließend kannst Du z. B. per Einzelschritt jeden Bearbeitungsschritt des Programms genau analysieren. Mit freundlichen Grüßen Guido
sdggfd j. schrieb: > aber es laueft fuer nur 1 parameter sogar 2 bis 3 mal. Wie hast Du das festgestellt? Zeile 154:
1 | [fexc, xp, xp1]= testDissjwibbeler_k_mems_var_Uac(zahl(j)) |
enthält einen rekursiven Aufruf Deiner Funktion
"testDissjwibbeler_k_mems_var_Uac", ohne dass irgendwo ein
Abbruchkriterium der Rekursion festgelegt wurde. Eigentlich müsste Deine
Funktion unendlich oft wiederholt werden. Irgendwann dürfte aber der
Speicher ausgehen, was zu einem Abbruch mit Fehlermeldung führen müsste.
> denn bin zu froh gewesen ein Matlab-Forum zu finden.
Auch wenn hier hin und wieder mal Threads zu Matlab auftauchen, ist
µC.net sicher kein Matlab-Forum.
@juwe: > µC.net sicher kein Matlab-Forum. : sorry, bin nur wie gesagt froh hier meine Fragen stellen zu können und ich Weiß, dass mir geholfen wird; in dem Sinne habe ich es gemeint. > Zu Zeile 154: Ich habe das Programm jedes Mal abgebrochen, wenn ich gemerkt habe dass etwas nicht stimmt; deswegen kam ich nicht auf die Zeile 154. Ich habe die Zeile gelöscht und alles funktioniert jetzt reibungslos. @Guido: Debuggen kann ich schon, nur möchte ich es auch wirklich und gezielt können, wenn ich zum Beispiel die Veränderung einer Variable im Programm verfolgen möchte. @Kevin. K: dein Tipp mit dem Plot ist der Hammer, funktioniert einwandfrei. Ich werde mir mal das Buch anschauen. Danke Leute, ihr habt mir sehr viel geholfen. Lara
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.