Maxima导引:修订间差异
来自Ubuntu中文
跳到导航跳到搜索
Dbzhang800(留言 | 贡献) |
Dbzhang800(留言 | 贡献) |
||
第104行: | 第104行: | ||
==导数== | ==导数== | ||
求导数: | |||
diff(expr, var) | |||
例子: | |||
(%i1) diff(sin(x),x); | |||
(%o1) cos(x) | |||
(%i2) diff(f(x)*g(x),x); | |||
d d | |||
(%o2) f(x) (-- (g(x))) + g(x) (-- (f(x))) | |||
dx dx | |||
求高阶导数: | |||
diff(expr, var, n) | |||
例子: | |||
(%i3)diff(sin(x),x, 2); | |||
(%o3) - sin(x) | |||
(%i4) diff(f(x)*g(x),x,3); | |||
3 2 | |||
d d d | |||
(%o4) f(x) (--- (g(x))) + 3 (-- (f(x))) (--- (g(x))) | |||
3 dx 2 | |||
dx dx | |||
2 3 | |||
d d d | |||
+ 3 (--- (f(x))) (-- (g(x))) + g(x) (--- (f(x))) | |||
2 dx 3 | |||
dx dx | |||
==集合== | ==集合== |
2007年6月1日 (五) 12:18的版本
来源:http://blog.chinaunix.net/u/20/showart_172159.html
作者:win_hate
函数
定义函数
注意函数使用的符号是 :=
一元函数
f(x):=expr;
例子:
(%i1) f(x):= 1+x; (%o1) f(x) := 1 + x (%i2) f(2); (%o2) 3
多元函数
f(x,y):=expr;
例子:
(%i3) f(x,y):=y^2+x^2; 2 2 (%o3) f(x, y) := y + x (%i4) f(2,3); (%o4) 13
初等函数
- 幂函数: x^2, x^(-1/2),...
- 指数函数:2^x, (1/2)^x, exp(x), %e^x...
- 在 maxima 中,常数e=2.718281828459045被记为:%e. 所以指数函数 e^x 在 maxima 中被表示为:%e^x
由于这个函数的重要性,它有一个专门的记法:exp(x).
(%i2)f(x) := %e^x; x (%o2) f(x) := %e (%i3)g(x) := exp(x); (%o3) g(x) := exp(x) (%i4)expand(f(x) - g(x)); (%o4) 0
- 对数函数:log(x)
- 在 maxima 中,log(x) 就是自然对数,即以 e 为底的对数,数学上常记为 ln(x)。maxima 没有其它形式的对数,要使用以 10 或 2 为底的对数,只能使用换底公式。如果把下面的代码放到 ~/.maxima/maxima-init.mac 中,则 maxima 在运行时会加载自定义函数 log10、log2,并把 ln 定义为 log。这样就可以使用 log10、log2 和 ln 了。
log10(x):=log(x)/log(10); log2(x):=log(x)/log(2); ln:log;
- 三角函数:sin, cos, tan, cot, sec, csc
- 在 maxima 中,pi=3.141592653589793 被记为 %pi.
- 反三角函数:asin, acos, atan, acot, asec, acsc
分段函数
f(x)= x-1, x<0 0, x=0 x+1, x>0
(%i2) f(x) := if x < 0 then x - 1 else (if x = 0 then 0 else 1 + x); (%o2) f(x) := if x < 0 then x - 1 else (if x = 0 then 0 else 1 + x) (%i3) f(- 1); (%o3) - 2 (%i4) f(0) (%o4) 0 (%i5) f(1) (%o5) 2
极限
求极限的命令为:
limit (expr, var, val, direction);
expr 是要求极限的表达式; var 是变量名; val 指定在何处取极限;direction 是方向,可以是 plus 和 miuns,分别指右极限和左极限。
例子:
(%i2)limit (sin(x)/x, x, 0); (%o2) 1 (%i3)limit (tan(x), x, %pi/2); (%o3) und (%i4)f:diff(abs(x), x); (%i5)limit(f, x, 0, plus); (%o5) 1 (%i6)limit(f, x, 0, minus); (%o6) -1
其中 und 表示极限不存在。
如果要取无穷处的极限,可以用常数 inf, minf。前者表示正无穷,后者表示负无穷。
(%i1) limit (1/x, x, inf); (%o1) 0 (%i2) limit (atan(x), x, inf); (%o2) %pi/2 (%i3) limit (atan(x), x, minf); (%o3) -%pi/2
导数
求导数:
diff(expr, var)
例子:
(%i1) diff(sin(x),x); (%o1) cos(x) (%i2) diff(f(x)*g(x),x); d d (%o2) f(x) (-- (g(x))) + g(x) (-- (f(x))) dx dx
求高阶导数:
diff(expr, var, n)
例子:
(%i3)diff(sin(x),x, 2); (%o3) - sin(x) (%i4) diff(f(x)*g(x),x,3); 3 2 d d d (%o4) f(x) (--- (g(x))) + 3 (-- (f(x))) (--- (g(x))) 3 dx 2 dx dx 2 3 d d d + 3 (--- (f(x))) (-- (g(x))) + g(x) (--- (f(x))) 2 dx 3 dx dx