首页 > 代码库 > Maple重点知识总结

Maple重点知识总结

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学习: 函数的高速定义

 

   函数与过程的定义通常是使用proc...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);
           或   s:=1,2,3;  f(s); # s为表达式序列
  

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



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

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

 

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

再执行: print(sin);

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

 

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

 

技术分享



Maple其中的三种引號

 
  1. 双引號(double quote symbol, "): 表示字符串的定界符
    > str := "This is a string";
                           "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‘;
                                   2
    > dependent := 2;
    type(s, ‘dependent({s, t})‘);
                                  true
    > type(s, dependent({s, t}));
                                 false
    > x := 5;
                                   5
    > x := ‘x‘;
                                   x
    > x;
                                   x
  3. 左单引號(left single quote symbol , `)
    * 一对(` `)之间的字符串序列能够形成一个name
    * 对于一个合法的Maple的name, 加不加(` `)效果是一样的
    * 对于保留字, 加了(` `)之后能够成为name, 不加的话则不能够. 这在type里面用的挺多的
    > `This is a name!` := 1; # 加了(` `), 成为name
    > `This is a name!`;
                                   1
    > type(m+n, +); # +没有加引號, 当作运算符或保留字处理
    > type(m+n, `+`); # +加引號, 当作name处理
                                  true
    >a, `a`; # a是Maple中一个合法的name, 加不加引號效果一样
                                  1, 1







Maple重点知识总结