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       正整数





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;
就可以。






Maple学习: 函数的高速定义

 


 

比如:

  • 无參数
    定义过程:      f:=()->"这是一个无參数函数定义";
    调用过程:     
  • 单參数
    定义过程:      f:=(x)->x^2+x+1; 或 f:=x->x^2+x+1;
    调用过程:     
  • 多參数
    定义过程: 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);
           或   s:=1,2,3;  f(s); # s为表达式序列
  

參数表中也可指定參数的类型。



Maple中查看某些系数函数的代码


Maple的大部分系统函数是用Maple语言编写的。仅仅有Maple内核的函数是用其它语言编译完毕的。我们能够使用Maple命令来查看系统函数的函数体,从而能够參考其编写方式,当然内核函数的函数体是看不到的。


首先执行: interface(verboseproc = 2);

再执行: print(sin);

则能够看到sin函数的代码.

另外假设是我们自己写的函数, 我们直接用print(函数名)来查看.


EvaluationContext使用MAP maple中eval函数_List




Maple其中的三种引號

 


  1. 双引號(double quote symbol, "): 表示字符串的定界符
    > str := "This is a string";
                          
  2. 右单引號(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';