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重点知识总结的更多相关文章

  1. 【转载】STL"源码"剖析-重点知识总结

    原文:STL"源码"剖析-重点知识总结 STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点 ...

  2. JavaScript重点知识(二)

    三.JS的API 3.1知识点(DOM) 1)DOM本质 将html结构化成浏览器和JS可识别可操作的东西 2)变量计算---强制类型转换 获取DOM节点 Attribute(对html标签属性的修改 ...

  3. 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾

    1.重点知识回顾 Maven1)覆盖仓库文件,实际企业开发,公司会架一个测试服务器,在测试服务器中架私服.我们开发人员的程序,都连接私服.当本地没有项目中要使用的jar,Myeclipse maven ...

  4. AJAX重点知识的心得体会

    下面就为大家带来一篇 AJAX重点知识的心得体会.学习还是有点帮助的,给大家做个参考吧. AJAX是什么? 是Asynchronous Javascript And XML的首字母的缩写, 它不是一门 ...

  5. AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解

    AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 javascriptvue-clicommonjswebpackast  阅读约 27 分钟 抽象语法树(AST),是一 ...

  6. STL"源码"剖析-重点知识总结

    STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1.STL概述 STL提供六大组件,彼此可以组合 ...

  7. STL&quot;源码&quot;剖析-重点知识总结

    STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1.STL概述 STL提供六大组件,彼此可以组合 ...

  8. JavaScript重点知识(一)

    一.总括 基础知识: 1.变量 2.原型和原型链 3.作用域和闭包 4.异步和单线程 JS的API: 1.BOM,DOM操作 2.事件绑定 3.Ajax 4.JSOP 5.存储 二.基础知识 2.1知 ...

  9. 实践开发:vue框架重点知识分析

    一个VUE项目的主树: assets文件夹是放静态资源: components是放组件: router是定义路由相关的配置; view视图: app.vue是一个应用主组件: main.js是入口文件 ...

随机推荐

  1. Dragon of Loowater

    option=com_onlinejudge&Itemid=8&page=show_problem&problem=2267" style="color:b ...

  2. linux free命令详解和使用实例(查看内存使用率)

    转载:http://www.jb51.net/LINUXjishu/152017.html 1.命令格式: free [参数] 2.命令功能: free 命令显示系统使用和空闲的内存情况,包括物理内存 ...

  3. struts脚本调用action,页面第一次访问不调用

    result type 如果是默认 第一次访问页面不会访问action,刷新才会请求 type=redirect 第一次访问会直接访问action 或者在调用地址加  url?+随机数

  4. QtGui.QPixmap

    A QtGui.QPixmap is one of the widgets used to work with images. It is optimized for showing images o ...

  5. Mac安装Myeclipse2015开发环境

    1.下载Myeclipse2015 链接: http://pan.baidu.com/s/1jHe8mFk 密码: qgeb 下载下来后,在安装的时候需要自己设置下安装目标,不然在破解的时候不是太好找 ...

  6. myDate97用法

      myDate97用法 CreateTime--2017年5月12日11:00:32Author:Marydon 一.基本用法 官网链接:http://www.my97.net/index.asp ...

  7. JAVA中的字节流与字符流

    字节流与字符流的区别? 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用 ...

  8. 峰值因子,峰均比,Reference Level

    峰值因子(CREST Factor,CF)与 峰均比( Peak-to-Average Ratio,PAR) 对于一个波形信号,在一段时间内信号幅度峰值比上信号幅度的有效值即为信号的峰值因子,它表征了 ...

  9. sim800L调试问题

    SIM800L默认上电开机,若此时没有把rst和pwk引脚提前设置好,SIM800l会使stm32进入硬件中断(这可能是因为方面电源的原因导致的),同时sim800L开机后需要一定的时间稳定下来,建议 ...

  10. centos7下mysqldump+crontab自动备份数据库

    1.创建文件夹(存放备份数据) mkdir /bak mkdir /bak/mysqldata 2.编写脚本 vi /usr/sbin/bakmysql.sh 脚本内容如下 DATE=`date +% ...