Neville-Algorithmus < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:45 Mo 18.04.2011 | Autor: | Mija |
Hallo,
ich bin ein Neuling, was Matlab angeht.
Ich soll eine Matlab-Funktion für den Neville-Algorithmus schreiben. Dies habe ich bereits gemacht:
function y=Neville (x,stuetz,fwerte)
disp(fwerte);
for k=1:length(stuetz)
for j=1:length(stuetz)-k
fwerte(j)=((x-stuetz(j))*fwerte(j+1)+(stuetz(j+k)-x)*fwerte(j))...
/(stuetz(j+k)-stuetz(j));
end
disp(fwerte(1:size(stuetz,2)-k));
y=fwerte(1);
end
Allerdings sagt Matlab zu mir:
"
??? Input argument "fwerte" is undefined.
Error in ==> Neville at 2
disp(fwerte);
"
Was muss ich jetzt machen? Was mache ich falsch?
|
|
|
|
Hallo Mija,
> Hallo,
>
> ich bin ein Neuling, was Matlab angeht.
> Ich soll eine Matlab-Funktion für den Neville-Algorithmus
> schreiben. Dies habe ich bereits gemacht:
>
> function y=Neville (x,stuetz,fwerte)
> disp(fwerte);
> for k=1:length(stuetz)
> for j=1:length(stuetz)-k
>
> fwerte(j)=((x-stuetz(j))*fwerte(j+1)+(stuetz(j+k)-x)*fwerte(j))...
> /(stuetz(j+k)-stuetz(j));
> end
> disp(fwerte(1:size(stuetz,2)-k));
> y=fwerte(1);
> end
>
> Allerdings sagt Matlab zu mir:
> "
> ??? Input argument "fwerte" is undefined.
>
> Error in ==> Neville at 2
> disp(fwerte);
> "
>
> Was muss ich jetzt machen? Was mache ich falsch?
Vielleicht hast Du ja nur ein "end" am
Schluss der Funktionsdefinition vergessen.
octave (ein Matlab-Klon) verlangt das auf jeden Fall so.
Oder die Funktion mit nur 2 Argumenten aufgerufen.
Gruss
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 20:20 Di 19.04.2011 | Autor: | Mija |
Ich hab es mit einem zusätzlichen "end" ausprobiert, aber es funktioniert immer noch nicht.
Er meckert irgendwie immer über die Zeile, die nach der function-Zeile kommt.
Woran liegt das?
|
|
|
|
|
Hallo Mija,
> Ich hab es mit einem zusätzlichen "end" ausprobiert, aber
> es funktioniert immer noch nicht.
> Er meckert irgendwie immer über die Zeile, die nach der
> function-Zeile kommt.
> Woran liegt das?
Teile uns doch mit, bei welcher Aktion
diese Fehlermeldung autfaucht.
Gruss
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:17 Di 19.04.2011 | Autor: | Mija |
Die Fehlermeldung kommt immer dann, wenn ich "Neville.m" ausführen will.
|
|
|
|
|
Hallo MIja,
> Die Fehlermeldung kommt immer dann, wenn ich "Neville.m"
> ausführen will.
Gebe mal nur "Neville" ein.
Gruss
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:35 Di 19.04.2011 | Autor: | Mija |
Ich gebe ja zum Ausführen nichts ein, sondern benutze den Button mit dem grünen Play-Pfeil dafür.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:07 Di 19.04.2011 | Autor: | qsxqsx |
Ich weiss nicht ob dein Algorithmus stimmt und auch nicht was die Eingabewerte genau sein müssen (Arrays? Matrix...?)
Aufjeden fall:
->am ende ein "return" und nicht end schreiben.
->Dann in die Commandozeile Neville(5,1,3) eingeben
und es wird ausgeführt...
Gruss
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 08:05 Mi 20.04.2011 | Autor: | Mija |
Die Eingabewerte sind der Vektor stuetz und der Vektor fwerte.
Danke, es funktioniert jetzt!
Kommt bei deiner Beispieleingabe ein Wert von 3 heraus?
Komisch finde ich es, dass meine Ausgabe immer der Wert ist, den ich für fwerte eingebe.
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 10:50 Mi 20.04.2011 | Autor: | Mija |
Was muss ich denn eingeben/machen, damit ich jetzt den gesuchten Wert mit Hilfe des Algorithmus berechnen kann?
|
|
|
|
|
Hi,
du rufst die Funktion ganz normal im Commandwindow auf:
Neville (x,stuetz,fwerte)
2. Laut deiner Funktion
in der Schleife schreibst du an die Stelle fwerte(j). Und als Rückgabe verwendest du nur fwerte(1) (erster Eintrag). Dann reicht es ganz am Ende außerhalb der Schleife, den Wert nach y zu schieben.
3. du übergibst nur Skalare
neville(5,[1 2 3],[3 4 5])
berechnet hoffentlich, dass was du meinst. Wenn du skalare übergibst, dann wird die Schleife nur einmal ausgeführt und gleich wieder fwerte zurück gegeben.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:21 Mi 20.04.2011 | Autor: | Mija |
Super, ich habe es jetzt verstanden! :)
Es funktioniert alles wie gewünscht!
Vielen lieben Dank! :)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Mo 25.04.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:20 Di 26.04.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|