Maple中的evalf与evalhf
evalf
- 可作用于单值
- 可作用于List
- 可作用于Set
- 可作用于Vector(<..>)
- 可作用于Matrix(<..|..|..>)
evalhf
- 可作用于单值
- 可作用于Vector(<..>)
- 可作用于Matrix(<..|..|..>)
- 不可作用于List
- 不可作用于Set
Maple编程中的经常使用的參数限定
positive 正数
negative 负数
negzero 0或负0
poszero 0或正0
integer 整数
nonnegint 非负整数
nonposint 非正整数
negint 负整数
posint 正整数
negative
negzero
poszero
integer
nonnegint
nonposint
negint
posint
Maple中的嵌套编程
Maple中也可嵌套编程。求一个阶乘吧。
f := proc (k::nonposint)
if 0 < k then
return f(k-1)*k;
elif k = 0 then
return 1;
end if;
end proc;
就可以。
f := proc (k::nonposint)
end proc;
就可以。
Maple学习: 函数的高速定义
比如:
- 无參数
定义过程:f:=()->"这是一个无參数函数定义";
调用过程:f(); - 单參数
定义过程:f:=(x)->x^2+x+1; 或 f:=x->x^2+x+1;
调用过程:f(2); - 多參数
定义过程: f:=(x,y,z)->x^2+y+z;
调用过程: f(1,2,3);
另外,"->"后面的表达式能够是if语句(在if语句中可嵌套其它的语句)。比如:
定义过程: f:=(x,y,z)->if x > 0 then x^2+y+z else x+y+z end if;
调用过程: f(1,2,3);
參数表中也可指定參数的类型。
Maple中查看某些系数函数的代码
Maple的大部分系统函数是用Maple语言编写的。仅仅有Maple内核的函数是用其它语言编译完毕的。我们能够使用Maple命令来查看系统函数的函数体,从而能够參考其编写方式,当然内核函数的函数体是看不到的。
首先执行: interface(verboseproc = 2);
再执行: print(sin);
则能够看到sin函数的代码.
另外假设是我们自己写的函数, 我们直接用print(函数名)来查看.
Maple其中的三种引號
-
双引號(double quote symbol, "): 表示字符串的定界符
> str := "This is a string";
"This is a string" -
右单引號(right single quotes, ' '):
表示非赋值表达式或是延迟表达式的求值
> x := 2; y := 3;
> f := x+y; g := 'x+y'; 'f'; f;
5
x + y
f
5
> a := 1;
1
> ''a'';
'a'
> 'a';
a
> a;
1
> '2';