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 "Maxima" - Ableitung
Ableitung < Maxima < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Maxima"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Ableitung: Funktionswert
Status: (Frage) beantwortet Status 
Datum: 17:02 Mo 10.03.2008
Autor: MathePower

Hallo,

ich hab in Maxima eine Funktion wie folgt definiert:

[mm]f\left(x\right):=\left(x+1\right)/\left(x-1\right)[/mm]

sowie die 1. Ableitung

[mm]fs\left(x\right):=diff\left(f\left(x\right),x\right)[/mm]

Nun, wenn ich versuche den Wert der 1. Ableitung an einer Stelle [mm] x \not= 1[/mm] ausgeben zu lassen, erhalte ich folgendes:

fs(0)
Non-variable 2nd argument to diff:
0
#0: fs(x=2) -- an error.  Quitting.  To debug this try debugmode(true);

Wie erreiche ich nun, dass mir der Wert der ersten Ableitung an der Stelle 0 ausgegeben wird?

Gruß
MathePower

        
Bezug
Ableitung: Antwort
Status: (Antwort) fertig Status 
Datum: 18:03 Mo 10.03.2008
Autor: rainerS


> Hallo,
>  
> ich hab in Maxima eine Funktion wie folgt definiert:
>  
> [mm]f\left(x\right):=\left(x+1\right)/\left(x-1\right)[/mm]
>  
> sowie die 1. Ableitung
>  
> [mm]fs\left(x\right):=diff\left(f\left(x\right),x\right)[/mm]
>  
> Nun, wenn ich versuche den Wert der 1. Ableitung an einer
> Stelle [mm]x \not= 1[/mm] ausgeben zu lassen, erhalte ich
> folgendes:
>  
> fs(0)
>  Non-variable 2nd argument to diff:
>  0
>  #0: fs(x=2) -- an error.  Quitting.  To debug this try
> debugmode(true);
>  
> Wie erreiche ich nun, dass mir der Wert der ersten
> Ableitung an der Stelle 0 ausgegeben wird?

Der Operator := definiert eine Funktion; dabei wird der Funktionskörper (also Alles, was rechts vom Operator steht) nicht ausgewertet. Beim Aufruf werden die formalen Parameter durch die aktuellen ersetzt. Daher ergibt fs(2) den Ausdruck

diff(f(2),2)

ersetzt, was zur genannten Fehlermeldung führt.

Du musst erst auswerten, dann ersetzen, also zum Beispiel

subst(x=2,fs(x))

Du kannst das auch durch einen Block erreichen: dabei wird eine lokale ungebundene Variable für die Differentiation benutzt und danach durch den aktuellen Parameter ersetzt:

fs(x) := block([_x],subst(_x=x,diff(f(_x),_x)));

Dadurch ergibt fs(2):

block([_x],subst(_x=2,diff(f(_x),_x)))

Der Block sorgt dafür, dass die Variable _x keinen Wert hat, ansonsten ist der Inhalt das Gleiche wie oben.

Viele Grüße
   Rainer


Bezug
                
Bezug
Ableitung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:09 Mo 10.03.2008
Autor: MathePower

Hallo rainerS,

> > Hallo,
>  >  
> > ich hab in Maxima eine Funktion wie folgt definiert:
>  >  
> > [mm]f\left(x\right):=\left(x+1\right)/\left(x-1\right)[/mm]
>  >  
> > sowie die 1. Ableitung
>  >  
> > [mm]fs\left(x\right):=diff\left(f\left(x\right),x\right)[/mm]
>  >  
> > Nun, wenn ich versuche den Wert der 1. Ableitung an einer
> > Stelle [mm]x \not= 1[/mm] ausgeben zu lassen, erhalte ich
> > folgendes:
>  >  
> > fs(0)
>  >  Non-variable 2nd argument to diff:
>  >  0
>  >  #0: fs(x=2) -- an error.  Quitting.  To debug this try
> > debugmode(true);
>  >  
> > Wie erreiche ich nun, dass mir der Wert der ersten
> > Ableitung an der Stelle 0 ausgegeben wird?
>  
> Der Operator := definiert eine Funktion; dabei
> wird der Funktionskörper (also Alles, was rechts vom
> Operator steht) nicht ausgewertet. Beim Aufruf werden die
> formalen Parameter durch die aktuellen ersetzt. Daher
> ergibt fs(2) den Ausdruck
>  
> diff(f(2),2)
>  
> ersetzt, was zur genannten Fehlermeldung führt.
>  
> Du musst erst auswerten, dann ersetzen, also zum Beispiel
>  
> subst(x=2,fs(x))
>  
> Du kannst das auch durch einen Block erreichen: dabei wird
> eine lokale ungebundene Variable für die Differentiation
> benutzt und danach durch den aktuellen Parameter ersetzt:
>  
> fs(x) := block([_x],subst(_x=x,diff(f(_x),_x)));
>  
> Dadurch ergibt fs(2):
>  
> block([_x],subst(_x=2,diff(f(_x),_x)))
>  
> Der Block sorgt dafür, dass die Variable _x keinen Wert
> hat, ansonsten ist der Inhalt das Gleiche wie oben.

Jetzt funktioniert's.

Danke.

>  
> Viele Grüße
>     Rainer
>  

Gruß
MathePower

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Maxima"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


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