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. PostgreSQL流复制参数max_wal_senders详解

    转自:http://my.oschina.net/Kenyon/blog/152234PostgreSQL 9.2.4 主机:192.25.10.76 从机:192.25.10.71 做postgre ...

  2. ! Undefined control sequence. \CJK@XXX ...endcsname {`#2}{`#3}\CJK@ignorespaces \fi l.43 \end{document}

    错误的原因是:你的文本内容超过了一页,需要增加新的一页. 解决问题的方法就是在\end{CJK}或者\end{CJK*}之前加入\newpage,\clearpage或者\cleardoublepag ...

  3. 〖Fedora〗设置Fedora静态ip地址

    root@Fedora:~# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82540EM Gigabit Eth ...

  4. 【Linux】cp命令

    用途 cp除了复制功能之外还可以建立快捷方式 全称 cp的全称为copy 参数 -a :相当于同时指定参数pdr -d :若文件为链接文件的属性(link file),则复制链接文件属性而非档案本身 ...

  5. 40、JDBC相关概念介绍

    1.1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的驱动程序之后才能够使用声卡和网卡,同样道理,我们安装好数据 ...

  6. 首次使用JBoss流程(windows下)

    1.首先应该明白JBoss分为社区版(AS)和企业版(EAP),其中社区版已经改名wildfly(难道是野苍蝇的意思?),企业版对个人开发者免费下载使用, 这里由于公司要求,我用的是jboss-eap ...

  7. NuGet学习笔记(2) 使用图形化界面打包自己的类库[转]

    http://www.cnblogs.com/lzrabbit/archive/2012/05/01/2477607.html 上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet ...

  8. MS SQL自定义函数IsPositiveInteger MS SQL自定义函数IsNumeric 水晶报表使用IEnumerable<T>数据源

    MS SQL自定义函数IsPositiveInteger   判断字符串是否为正整数,0开始的的数字不算. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON ...

  9. QQ窗体的控制,同步异步打开360网盘,控制360网盘窗体的移动

     1.通过system启动飞秋进程的方式: 2.Windows下杀死进程的方式是:taskkill /f/im QQ.exe.截图例如以下: watermark/2/text/aHR0cDovL2 ...

  10. javascript、js操作json对象和字符串互相转换方法

    相信前端的同学们对json并不陌生,接触过很多.但是很少人知道json的全称是什么,哈哈,我也是查资料知道的.(JSON JavaScript Object Notation是一种轻量级的数据交换格式 ...