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

时间: 2024-11-03 21:56:41

Maple重点知识总结的相关文章

【转载】STL&quot;源码&quot;剖析-重点知识总结

原文:STL"源码"剖析-重点知识总结 STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1.STL概述 STL提供六大组件,彼此可以组合套用: 容器(Containers):各种数据结构,如:vector.list.deque.set.map.用来存放数据.从实现的角度来看,STL容器是一种class template. 算法(algorithms):各种常用算法,如:sort.se

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

1.重点知识回顾 Maven 1)覆盖仓库文件,实际企业开发,公司会架一个测试服务器,在测试服务器中架私服.我们开发人员的程序,都连接私服.当本地没有项目中要使用的jar,Myeclipse maven插件会自动到私服去找jar,如果没找到去中央仓库maven寻找,找到后下载.activiti-engine-5.13.jar.lastUpdated 当访问远程仓库时,由于网络不稳定,有可能中断.当程序再次连接,它会自动修正.Pom文件报错,jar错误,去仓库目录找jar,jar存在,点击jar开

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

1.重点知识回顾 购销合同查看,采用类似hibernate方式,都以对象关联方式. (1)PO为了利用MyBatis性能,在创建时,没有采用关联对象关联,而是将对象关键字段,也就是外键,利用这个普通属性,来记录值,表数据间关联关系存在,但对象关联关系不存在.代码也就变得简单.在货物新增时,只要从主对象中携带过来,主表ID即可. (2)VO为了方便对象关联时取数据.在列表循环货物信息时,要去查询当前货物下的附件时,如果采用上面的方式,只能再次查询.但是我们以对象关联方式,可以直接获取到当前货物下的

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

AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 https://segmentfault.com/a/1190000016231512 太长没看完.. javascriptvue-clicommonjswebpackast 阅读约 27 分钟 抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白. 本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能 Javascript就像一台精妙运作的机器,我们可以

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

AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 javascriptvue-clicommonjswebpackast 阅读约 27 分钟 抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白. 本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能 Javascript就像一台精妙运作的机器,我们可以用它来完成一切天马行空的构思. 我们对javascript生态了如指掌,却常忽视javascript本身

3月7日薛老师讲义 学习重点知识梳理

第一章 信息化的基础知识 国家信息化体系要素:国家信息化体系包括信息技术应用.信息资源.信息网络.信息技术产业.信息化人才.信息化法规政策和规范六个要素. 电子政务:电子政务建设的指导原则(1)统一规划,加强领导.(2)需求主导,突出重点,抓好建设统一网络平台,建立标准.健全法制,建设和整合关系国民经济和社会发展全局的业务系统.(3)整合资源,拉动产业.(4)统一标准,保障安全. 电子政务的主要任务:(1)建设和整合统一的电子政务网络,为适应业务发展和安全保密的要求,电子政务网络由政务内网和政务

磁盘分区重点知识

磁盘分区的重点: 1)给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节后面接下来的64bytes的分区表进行设置,即主要是划分起始以及结束磁头号.扇区号及柱面号 2)给磁盘分区的工具有fdisk(适合给小于2T的磁盘分区),parted(擅长给大于2T的磁盘分区,可以对小于2T的磁盘分区),首选fdisk,只有大于2T时才去选parted 补:(一台服务器6块600G的磁盘,raid5后,总大小3T,此时无法装系统的,解决办法是做raid5后,不要重启装系统,而是再raid界面,继续

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

STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1.STL概述 STL提供六大组件,彼此可以组合套用: 容器(Containers):各种数据结构,如:vector.list.deque.set.map.用来存放数据.从实现的角度来看,STL容器是一种class template. 算法(algorithms):各种常用算法,如:sort.search.copy.erase.从实现的角度来看,STL算法

第四课_重点知识梳理

第六章  项目整体管理 一.项目整体管理的过程的内容: 1.项目启动: 2.指定初步的项目范围说明书: 3.制定项目管理计划: 4.指导和管理项目的执行: 5.监督和控制项目: 6.整体变更控制: 7.项目收尾: 二.项目立项以后,就要正式启动项目.所谓的项目的启动就是以书面的.正是的形式肯定项目的成立和存在,同时以书面正式的形式为项目经理进行授权: 三.项目章程是正式批准一个项目的文档,或者是批准先行项目是否进入下一个阶段的文档.项目的章程应当由项目组织以外的项目发起人发布.若项目为本组织开发