I'm not sure what you are trying to accomplish with f(x) definition,
but it is possible to do this:
f[x]:=some_function(x)
f[2]: some_special_value
f[3]: some_other_value.
If you want round brackets, then you can do something like
ff(x):=f[x]
As far as I can recall, the only time I've used '' is in the
following context...
... long computation resulting in an expression like
(D100) 123456*x^43+ 5677*x^40 + 32324322432*x^10
(C101) f(x):=''d100
now I can use f(10) instead of subst(10,x,d100)
I think that is the way it should be explained.
Perhaps I should look at the documentation again...
RJF
Martin RUBEY wrote:
> Hi,
>
> after my first experiences with maxima a year ago I didn't have any time
> to spend on it, now I tried it again (new university, no MMA) and was, in
> fact, rather pleased. I thought I'd just write up some simple
> observations, sorry I can't contribute more at this time...
>
> Thanks for your work, it's just great!
>
> Martin
>
> Line 230 of maxima.1 should read
>
> Maxima. If gnuplot is available, it can be used by setting a plot
>
> instead of
>
> Maxima. If is gnuplot is available, it can be used by setting a plot
>
> ---------------
>
> Page 3 of the Maximabook:
> Line 187 of maxima.tex should probably read
>
> \chapter{Trig through Calculus}
>
> instead of
>
> \chapter{Trig through Through Calculus}
>
> --------------
>
> Page 66 of the Maximabook:
> Line 69 of prog.tex should read
>
> with input or output commands. The input is provided through
>
> instead of
>
> with input or output commands. The input is provide through
>
> ---------------
>
> local(func) should be emphasised in the documentation, i.e., it wasn't
> intuitively clear to me that
>
> block([func],func(x):=x^2); defines func globally,
>
> and it takes some time to find out.
>
> ---------------
>
> In MMA and I believe in Maple too, I can say
>
> f[2]:=3
> f[3]:=5 and the like,
>
> in Maxima it seems, that the easiest way to do this is
>
> f(x):=Block([],local(f),Map(lambda([x,y],f[x]:y),[2,3],[3,5]),f[x]);
>
> Am I right?
>
> --------------
>
> Is there a obvious way to convert arrays, matrices and lists (of the right
> form) into each other or do I have to loop over all the indices?
>
> --------------
>
> The docu says
>
> - Function: DEFINE (f(x1, ...), body)
> is equivalent to f(x1,...):="body but when used inside functions
> it happens at execution time rather than at the time of definition
> of the function which contains it.
>
> Asside from the fact that " should (globally, at least also in
> "Introduction to Command Line") be replaced by '',
>
> define(f(x),Block([],local(f),Map(lambda([x,y],f[x]:y),[1,3,5],[2,5,1]),f[x]));
>
> returns
>
> f(x) := f[x]
>
> and
>
> f(x):=''Block([],local(f),Map(lambda([x,y],f[x]:y),[1,3,5],[2,5,1]),f[x]);
>
> returns
>
> f(x):=BLOCK([],LOCAL(f),MAP(LAMBDA([x,y],f[x]:y),[1,3,5],[2,5,1]),f[x])
>
> so, it seems that this is not really an equivalence. In fact, it seems to
> me that '' doen't do anything in this context. Furthermore
>
> g():= f(x):=''Block([],local(f),Map(lambda([x,y],f[x]:y),[1,3,5],[2,5,1]),f[x]);
>
> (as well as the same statement without '' ) makes g(); return
>
> f(x):=BLOCK([],LOCAL(f),MAP(LAMBDA([x,y],f[x]:y),[1,3,5],[2,5,1]),f[x])
>
> (and now f is defined), while
>
> g():=define(f(x),Block([],local(f),Map(lambda([x,y],f[x]:y),[1,3,5],[2,5,1]),f[x]));
>
> makes g(); return
>
> f(x):=f[x]
>
> (which is what I expected) So, I think the docu should say something like
>
> - Function: DEFINE (f(x1, ...), body)
> is equivalent to f(x1,...):=evaluated_body, where evaluated_body is
> the evaluation of body.
>
> ---------------
>
> wishlist:
>
> Erf should accept complex arguments
>
> Why doesn't Integrate(...), numer; call Romberg(...); ?
>
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>