Shooting-Verfahren mit matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo,
Ich soll demnächst einen Seminarvortrag über das Sturm-Liouville Problem mit Dirichlet randbedingungen hallten, hierfür möchte ich das shooting Verfahren zum finden von Eigenwerten in matlab implementieren, ich traf aber auf einige Probleme die ich auf Grund von komplettem Unwissen über matlab nicht lösen konnte. Hier erstmal meine m.file:
function [X] = shooting(n)
h = [mm] n^2*pi^2;
[/mm]
X=fzero(@schuss,h)
function [A]=schuss(b)
[A B]=ode45(@F,[0 1],[0;1]);
end
function dy = F(t,y);
dy(1,1)= y(2);
dy(2,1)= -b*y(1);
end
end
Ich erwarte als EIngabe ein n welches angibt welchen Eigenwert ich suche und lasse dann fzero Nullstellen in der Funtion schuss suchen.
In Schuss soll ode45 mir das Differentialgleichungssystem in der funktion F lösen mit dem eingesetzten b welches fzero da rein schmeißt.
So wie das hier geschrieben ist funktioniert das nicht, was ich auch nicht anders erwartet habe. Mein Problem is, wie krieg ich den Wert den fzero in schuss reinschmeißt in die FUnktion F?
Für Leute die das shootingverfahren nicht kennen:
Ich möchte das b in der Funktion F durch den Wert ersetzen den fzero in die Funktion schuss schmeißt.
Die Fehlermeldung die matlab zur Zeit ausschmeißt ist:
>> shooting(1)
??? Error using ==> fzero
FZERO cannot continue because user supplied function_handle ==> shooting/schuss
failed with the error below.
Undefined function or variable 'b'.
Error in ==> shooting at 5
X=fzero(@schuss,h)
Ich hoffe irgendwer kann mir helfen.:)
Besten Danke im vorraus.
Powerlocke
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Edit: Hat sich gegessen.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:14 Di 15.01.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|