Confused writing a function and its result - depending on reevaluation of the function
- Subject: Confused writing a function and its result - depending on reevaluation of the function
- From: Jaime Villate
- Date: Wed, 27 Apr 2011 11:15:59 +0100
On Wed, 2011-04-27 at 11:12 +0100, Jaime Villate wrote:
> kurvendiskussion(func) :=
> block(
> [ab1,ab2,ab3,ab4,N,E,W,l,erg,abl,xi],
> ab1:ratsimp(diff(func,x)),
> ab1:ratsimp(diff(func,x)),
> ab2:ratsimp(diff(func,x,2)),
> ab3:ratsimp(diff(func,x,3)),
> ab4:ratsimp(diff(func,x,4)),
> l:realroots(func=0),
> N: makelist(float(ev([x,func],l[i])), i , 1, length(l)),
> l:realroots(ab1=0),
> E: makelist(float(ev([x,func],l[i])), i , 1, length(l)),
> l:realroots(ab2=0),
> W: makelist(float(ev([x,func],l[i])), i , 1, length(l)),
> abl: [ab1,ab2,ab3,ab4],
> erg:
> matrix(["Funktion","Ableitung","Nullstellen","Extremwerte","Wendepunkt"],
> [func, transpose(abl), transpose(N),transpose(E),transpose(W)]),
> return (erg)
> )$
Sorry for some extra garbage. I meant to say:
kurvendiskussion(func) :=
block(
[ab1,ab2,ab3,ab4,N,E,W,l,erg,abl],
ab1:ratsimp(diff(func,x)),
ab2:ratsimp(diff(func,x,2)),
ab3:ratsimp(diff(func,x,3)),
ab4:ratsimp(diff(func,x,4)),
l:realroots(func=0),
N: makelist(float(ev([x,func],l[i])), i , 1, length(l)),
l:realroots(ab1=0),
E: makelist(float(ev([x,func],l[i])), i , 1, length(l)),
l:realroots(ab2=0),
W: makelist(float(ev([x,func],l[i])), i , 1, length(l)),
abl: [ab1,ab2,ab3,ab4],
erg:
matrix(["Funktion","Ableitung","Nullstellen","Extremwerte","Wendepunkt"],
[func, transpose(abl), transpose(N),transpose(E),transpose(W)]),
return (erg)
)$
Jaime