Maple重点知识总结

2023-12-06 10:50
文章标签 总结 重点 知识 maple

本文主要是介绍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







这篇关于Maple重点知识总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/461559

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel