www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Neville-Algorithmus
Neville-Algorithmus < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Neville-Algorithmus: Hilfe, Korrektur
Status: (Frage) beantwortet Status 
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?

        
Bezug
Neville-Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 16:27 Mo 18.04.2011
Autor: MathePower

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

Bezug
                
Bezug
Neville-Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
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?

Bezug
                        
Bezug
Neville-Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 21:14 Di 19.04.2011
Autor: MathePower

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

Bezug
                                
Bezug
Neville-Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 21:17 Di 19.04.2011
Autor: Mija

Die Fehlermeldung kommt immer dann, wenn ich "Neville.m" ausführen will.

Bezug
                                        
Bezug
Neville-Algorithmus: Antwort
Status: (Antwort) fertig Status 
Datum: 21:28 Di 19.04.2011
Autor: MathePower

Hallo MIja,


> Die Fehlermeldung kommt immer dann, wenn ich "Neville.m"
> ausführen will.


Gebe mal nur "Neville" ein.


Gruss
MathePower

Bezug
                                                
Bezug
Neville-Algorithmus: Frage (beantwortet)
Status: (Frage) beantwortet Status 
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.

Bezug
                                                        
Bezug
Neville-Algorithmus: Antwort
Status: (Antwort) fertig Status 
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

Bezug
                                                                
Bezug
Neville-Algorithmus: Frage (überfällig)
Status: (Frage) überfällig Status 
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.

Bezug
                                                                        
Bezug
Neville-Algorithmus: Frage (überfällig)
Status: (Frage) überfällig Status 
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?

Bezug
                                                                                
Bezug
Neville-Algorithmus: 3 Anmerkungen
Status: (Antwort) fertig Status 
Datum: 11:09 Mi 20.04.2011
Autor: wieschoo

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.



Bezug
                                                                                        
Bezug
Neville-Algorithmus: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:21 Mi 20.04.2011
Autor: Mija

Super, ich habe es jetzt verstanden! :)
Es funktioniert alles wie gewünscht!
Vielen lieben Dank! :)

Bezug
                                                                                
Bezug
Neville-Algorithmus: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:20 Mo 25.04.2011
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                                                                        
Bezug
Neville-Algorithmus: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 08:20 Di 26.04.2011
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]