• 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中查看某些系数函数的代码



    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







  • 相关阅读:
    [bzoj1008](HNOI2008)越狱(矩阵快速幂加速递推)
    [BZOJ1007](HNOI2008)水平可见直线(半平面交习题)
    [bzoj1006](HNOI2008)神奇的国度(弦图最小染色)【太难不会】
    [BZOJ1005](HNOI 2008)明明的烦恼
    unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010
    再议Unity 3D
    Android系统简介(中):系统架构
    Android系统简介(上):历史渊源
    Spread 之自定义对角线cellType源码: DiagonalCellType
    通信行业OSS支撑系统软件研发思考
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6727124.html
Copyright © 2020-2023  润新知