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. /etc/ssh/sshd_config 配置(ssh连接)

    # Package generated configuration file# See the sshd_config(5) manpage for details # What ports, IPs ...

  2. [ES6] 05. The leg keyword -- 3. Block Scope

    In ES6, IIFE is not necessary: // IIFE写法 (function () { var tmp = ...; ... }()); // 块级作用域写法 { let tm ...

  3. 微信小程序 - 展开收缩列表

    代码源自于:微信小程序示例官方 index.wxml <block wx:for-items="{{list}}" wx:key="{{item.id}}" ...

  4. 配置静态监听解决ORA-12514错误的案例

    今天做Linux下DG配置的时候,遇到一个现象.tnsname.ora文件配置都正常,tnsping也正常,监听也正常.可是仍然报ORA-12514错误: SQL> set lin 130 pa ...

  5. Unity时钟定时器插件——Vision Timer源码分析之二

      Unity时钟定时器插件——Vision Timer源码分析之二 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 前面的已经介绍了vp_T ...

  6. 【PM】关于系统数据库和服务现场升级的一些看法

    工作快满一年了,立即着手准备第二次出差去升级我们的系统,可是突然想到一件事情,让我颇有感触,是关于系统现场升级的. 我们迭代开发的系统隔一段时间就会须要到用户的现场去为其进行系统升级,当中升级包含cl ...

  7. android路径获取

    //内部路径 Environment.getDataDirectory()=/data Environment.getDownloadCacheDirectory()=/cache Environme ...

  8. TCP/IP 工具Ping

    TCP/IP 工具Ping 在网络中Ping 是一个十分好用的TCP/IP工具.它主要的功能是用来检测网络的连通情况和分析网络速度. C:\Users\gechong>ping /? 用法: p ...

  9. IDEA中同窗口导入新的maven项目

    创建请看这个:http://www.cnblogs.com/oskyhg/p/6649266.html 下边开始导入: 完毕. 结果展示:

  10. 数据库选型之MySQL(多线程并发)

    刘勇    Email: lyssym@sina.com 本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于高频中心库 ...