• 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







  • 相关阅读:
    50.EasyGank妹纸App
    项目开发规范,数据库设计规范
    用外部物理路由器时与外部dhcp服务时怎样使用metadata服务(by quqi99)
    [报错处理]Python Requests
    [译]为什么在__new __()后总是调用__init __()?
    '>/dev/null 2>&1' 是什么意思?
    “努力就会成功”
    [译]如何在红帽系统(RHEL)上源码安装python3?
    [译]在你的GitHub主页固定仓库
    [译]拉取仓库远程分支
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6727124.html
Copyright © 2020-2023  润新知