列式而不运算
我们先计算一个瑕积分,用到无穷大的部份Maxima 是以inf 表示:
(%i1) integrate(%e^(-x^2),x,0,inf);&">nbsp;
sqrt(%pi)
(%o1) ---------
2
还记得这在微积分是怎么积出来的吗?Maxima 居然会积!不过,今天这不是我们的重点。今天重点是,有时你不是要秀答案,只是要列出式子。我们要怎么样让Maxima 不要太自动就算出来呢?答案是加个“”号在前面,例如:
(%i2) 'integrate(%e^(-x^2),x,0,inf);
inf
/ 2
[ - x
(%o2) I %e dx
]
/
0
kill 指令
有时我们设定了一堆变数,函数,后来又不想再用下去,可以用kill 指令。而kill(all) 更是把我们定义过的变数,函数全部删除。看些例子就更加清楚:
(%i3) f(x) := 3*x^2+5;
2
(%o3) f(x) := 3 x + 5
(%i4) f(x);
2
(%o4) 3 x + 5
(%i5) kill(f);
(%o5) done
(%i6) f(x);
(%o6) f(x)
ev的使用
我们可以把Maxima 的ev 指令想成一个独立的环境。有点像在写程序时的函式一样, 并不会影响到其他的运作。第一种ev 的应用是把我们设成不要执行的指令执行:
(%i7) f: 'integrate(x^2, x);
/
[ 2
(%o7) I x dx
]
/
(%i8) ev(f, integrate);
3
x
(%o8) --
3
另一个很有用的使用方式是, 11545.html">我们有个式子, 比方说:
(%i9) f: a*x^2+b*2+c;
2
(%o9) a x + c + 2 b
假设我们想令一个式子是a = 1, b = −2, c = −8 的情况, 我们当然可以先令各个变数是这样,们问题是这么一来, f 也永远是x2 − 2x − 8, a, b, c 这三个变数也不再是“符号”, 而是有值的。为了避免这个问题, 我们可以用ev 指令, 在下了这个指令后, 我们可以发现, 并没有变动到原来a, b, c或是f :
(%i10) g: ev(f, a=1, b=-2, c=-8);
2
(%o10) x - 12
(%i11) a;
(%o11)