—— matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic Math Toolbox

Slides:



Advertisements
Similar presentations
一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
Advertisements

第五节 全微分方程 一、全微分方程及其求法 二、积分因子法 三、一阶微分方程小结. 例如 所以是全微分方程. 定义 : 则 若有全微分形式 一、全微分方程及其求法.
第一节 不定积分的概念及其 计算法概述 一、原函数与不定积分的概念 二、基本积分表 三、不定积分的性质及简单计算 四、小结.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
高 等 数 学高 等 数 学 内蒙古科技大学公共数学教学部 主编:李淑俊. 引言 第一章 函数与极限 第二章 导数与微分 第三章 微分中值定理与导数的应用 第四章 不定积分 第五章 定积分 第六章 定积分的应用 目 录 目录 下一页 目录 下一页.
高等数学一 主讲 杨俊 演示文稿制作 杨俊. 高等数学一 第 3 章 一元函数微分学的应用 第 4 章 一元函数 积分学及应用 第 1 章 函数、极限与连续 第 2 章 导数与微分.
第 4 章 数值微积分. 4.1 内插求积 Newton-Cotes 公式 第 4 章 数值微积分 4.1 内插求积 Newton-Cotes 公式.
1 热烈欢迎各位朋友使用该课件! 广州大学数学与信息科学学院. 2 工科高等数学 广州大学袁文俊、邓小成、尚亚东.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
第二章 导数与微分 一. 内 容 要 点 二. 重 点 难 点 三. 主 要 内 容 四. 例 题与习题.
8.1 不定积分的概念和基本积分公式  原函数和不定积分  基本积分公式表  不定积分的线性运算法则 第八章 不定积分.
代数方程总复习 五十四中学 苗 伟.
一、二阶行列式的引入 用消元法解二元线性方程组. 一、二阶行列式的引入 用消元法解二元线性方程组.
例题 教学目的: 微积分基本公式 教学重点: 牛顿----莱布尼兹公式 教学难点: 变上限积分的性质与应用.
恰当方程(全微分方程) 一、概念 二、全微分方程的解法.
高等数学电子教案 第五章 定积分 第三节 微积分基本定理.
第二部分 微积分问题的计算机求解 《数学分析》实验课.
第五节 微积分基本公式 、变速直线运动中位置函数与速度 函数的联系 二、积分上限函数及其导数 三、牛顿—莱布尼茨公式.
一、原函数与不定积分 二、不定积分的几何意义 三、基本积分公式及积分法则 四、牛顿—莱布尼兹公式 五、小结
第二节 微积分基本公式 1、问题的提出 2、积分上限函数及其导数 3、牛顿—莱布尼茨公式 4、小结.
第四章 定积分及其应用 4.3 定积分的概念与性质 微积分基本公式 定积分的换元积分法与分部积分法 4.5 广义积分
数 学 分 析 第九章 定积分 第二节 微积分学基本公式 主讲:师建国.
第四章 函数的积分学 第六节 微积分的基本公式 一、变上限定积分 二、微积分的基本公式.
定积分的换元法 和分部积分法 换元公式 分部积分公式 小结 1/24.
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
第四章 一元函数的积分 §4.1 不定积分的概念与性质 §4.2 换元积分法 §4.3 分部积分法 §4.4 有理函数的积分
第三节 函数的求导法则 一 函数的四则运算的微分法则 二 反函数的微分法则 三 复合函数的微分法则及微分 形式不变性 四 微分法小结.
第四节 一阶线性微分方程 线性微分方程 伯努利方程 小结、作业 1/17.
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第三章 导数与微分 习 题 课 主要内容 典型例题.
第三讲 MATLAB的符号运算 科学与工程技术中的数值运算固然重要,但自然科学理论分析中各种各样的公式、关系式及其推导就是符号运算要解决的问题。 在Matlab7.0中,符号计算虽以数值运算的补充身份出现,但它们都是科学计算研究的重要内容。 Matlab开发了实现符号计算的工具包Symbolic Math.
第5章 §5.3 定积分的积分法 换元积分法 不定积分 分部积分法 换元积分法 定积分 分部积分法.
第七讲 MATLAB的符号计算.
第5章 matlab符号运算 5.1 符号运算简介 5.2 符号表达式的化简与替换 5.3 符号微积分 5.4 符号线性代数
数学软件 Matlab —— Matlab 符号运算.
数学软件 Matlab —— Matlab 符号运算.
计算机数学基础 主讲老师: 邓辉文.
二.换元积分法 ò ( ) (一)第一类换元积分法 1.基本公式 把3x当作u,“d”后面凑成u 2.凑微分 调整系数 (1)凑系数 C x
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
第一章 函数 函数 — 研究对象—第一章 分析基础 极限 — 研究方法—第二章 连续 — 研究桥梁—第二章.
第二章 Java语言基础.
高等数学 西华大学应用数学系朱雯.
第一章 函数与极限.
第5章 线性代数 矩阵分析 矩阵分解 线性方程组的求解 符号矩阵.
6.4不等式的解法举例(1) 2019年4月17日星期三.
第三单元 第3课 实验 多元函数的积分 实验目的:掌握matlab计算二重积分与三重积分的方法,提高应用重积分解决有关应用问题的能力。
《 数学实验》4  符号变量与符号表达式 微积分基本运算 级数求和与泰勒展开式 常微分方程符号解.
线性代数 第二章 矩阵 §1 矩阵的定义 定义:m×n个数排成的数表 3) 零矩阵: 4) n阶方阵:An=[aij]n×n
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
实验一 计算复变函数极限、微分、积分、 留数、泰勒级数展开式 (一) 实验类型:验证性 (二) 实验类别:基础实验
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
第一节 不定积分的概念与性质 一、原函数与不定积分的概念 二、不定积分的几何意义 三、基本积分表 四、不定积分的性质 五、小结 思考题.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
一 般 的 代 数 方 程 函数solve用于求解一般代数方程的根,假定S为符号表达式,命令solve (S)求解表达式等于0的根,也可以再输入一个参数指定未知数。例: syms a b c x S=a*x^2+b*x+c; solve(S) ans = [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
建模常见问题MATLAB求解  .
一元二次不等式解法(1).
线 性 代 数 厦门大学线性代数教学组 2019年5月12日4时19分 / 45.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
§ 9.1常用数学软件简介及MATLAB基础知识
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
西南科技大学网络教育系列课程 数学软件 数学软件 第7讲 MATLAB符号计算二 主讲教师: 鲜大权 副教授 西南科技大学理学院数学系.
§4.5 最大公因式的矩阵求法( Ⅱ ).
—— matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic Math Toolbox
第一节 不定积分的概念与性质 原函数与不定积分的概念 基本积分表 不定积分的性质 小结、作业 1/22.
实验二 定积分的近似计算.
Presentation transcript:

—— matlab 不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包Symbolic Math Toolbox

符号运算的功能 符号表达式、符号矩阵的创建 符号线性代数 因式分解、展开和简化 符号代数方程求解 符号微积分 符号微分方程

一、符号运算的基本操作 什么是符号运算 与数值运算的区别 ※ 数值运算中必须先对变量赋值,然后才能参与运算。   ※ 符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。

特点:  运算对象可以是没赋值的符号变量  可以获得任意精度的解 Symbolic Math Toolbox——符号运算工具包通过调用Maple软件实现符号计算的。 maple软件——主要功能是符号运算, 它占据符号软件的主导地位。  

2. 符号变量与符号表达式 f = 'sin(x)+5x' f —— 符号变量名 sin(x)+5x—— 符号表达式 ' '—— 符号标识 符号表达式一定要用' ' 单引 号括起来matlab才能识别。

' ' 的内容可以是符号表达式,也可以是符号方程。 例: f1='ax^2+bx+c' —— 二次三项式 f2= 'ax^2+bx+c=0' —— 方程 f3='Dy+y^2=1' ——微分方程 ※符号表达式或符号方程可以赋给符号变量,以后调用方便;也可以不赋给符号变量直接参与运算

用matlab函数sym创建矩阵(symbolic 3.符号矩阵的创建 数值矩阵A=[1,2;3,4] A=[a,b;c,d] —— 不识别 用matlab函数sym创建矩阵(symbolic 的缩写) 命令格式:A=sym('[ ]') ※ 符号矩阵内容同数值矩阵 ※ 需用sym指令定义 ※ 需用' '标识

例如:A = sym('[a , 2*b ; 3*a , 0]') A = [ a, 2*b] [3*a, 0] 这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方 括号,这是与 matlab数值矩阵的 一个重要区别。

 符号矩阵的修改 指令修改 用A1=subs(A, ‘new’, ‘old’)来修改 A(行标,列标)=符号表达式

例如:A =[ a, 2*b] [3*a, 0] A(2,2)=sym(‘4*b’) A = [ a, 2*b] [3*a, 4*b] A2=subs(A, 'c', 'b') A2 =[ a, 2*c] [3*a, 4*c]

 符号矩阵与数值矩阵的转换 将数值矩阵转化为符号矩阵 函数调用格式:sym(A) A=[1/3,2.5;1/0.7,2/5] A = 0.3333 2.5000 1.4286 0.4000 sym(A) ans = [ 1/3, 5/2] [10/7, 2/5]

double(A) ans = 0.3333 2.5000 1.4286 0.4000 将符号矩阵转化为数值矩阵 函数调用格式: double(A)、int8(A)、int16(A)、…… A = [ 1/3, 5/2] [10/7, 2/5] double(A) ans = 0.3333 2.5000 1.4286 0.4000

二、符号运算 符号矩阵运算 数值运算中,所有矩阵运算操作指 令都比较直观、简单。例如:a=b+c; a=a*b ;A=2*a^2+3*a-5等。 符号运算也是采用与数值运算相同的运算符。

符号矩阵运算的函数: + Addition - Subtraction * Multiplication .* Array multiplication / Right division ./ Array right division \ Left division .\ Array left division ^ Matrix or scalar raised to a power .^ Array raised to a power ‘ Complex conjugate transpose .‘ Real transpose

例2:f=sym('cos(x)');g=sym('sin(2*x)'); 例1:f= sym(‘2*x^2+3*x-5’); g= sym(‘x^2+x-7’); h= f + g h= 3*x^2+4*x-12 例2:f=sym('cos(x)');g=sym('sin(2*x)'); f / g + f * g ans = cos(x)/sin(2*x)+cos(x)*sin(2*x)

>> f=2*x^2+3*x-5; g= x^2+x-7; >> h=f+g h = 3*x^2+4*x-12 >> syms x >> f=2*x^2+3*x-5; g= x^2+x-7; >> h=f+g h = 3*x^2+4*x-12 例2:f=cos(x);g= sin(2*x); >> syms x >> f=cos(x);g=sin(2*x); >> f/g+f*g ans = cos(x)/sin(x)+cos(x)*sin(x)

2. 任意精度的数学运算 在symbolic中有三种不同的算术运算: 数值类型 matlab的浮点算术运算 有理数类型 maple的精确符号运算 vpa类型 maple的任意精度算术 运算

浮点算术运算 1/2+1/3 --(定义输出格式format long) ans = 0.83333333333333 符号运算 sym(1/2)+(1/3) 5/6 --精确解

任意精度算术运算 digits(n) —— 设置可变精度,缺省16位 vpa(x,n) —— 显示可变精度计算 digits(25) ans = .8333333333333333333333333

vpa(5/6,40) ans = .8333333333333333333333333333333333333333 a=sym('[1/4,exp(1);log(3),3/7]') a = [ 1/4, exp(1)] [ log(3), 3/7] vpa(a,10) [.2500000000, 2.718281828] [1.098612289, .4285714286]

3. 符号微积分与积分变换 diff(f) — 对缺省变量求微分 diff(f,v) — 对指定变量v求微分 diff(f,v,n) —对指定变量v求n阶微分 int(f) — 对f表达式的缺省变量求积分 int(f,v) — 对f表达式的v变量求积分 int(f,v,a,b) — 对f表达式的v变量在(a,b) 区间求定积分

int('被积表达式','积分变量','积分上限', '积分下限')—— 定积分 ——缺省时为不定积分 taylor(f,n) —— 泰勒级数展开 ztrans(f) —— Z变换 iztrans(f) —— 反Z变换 laplace(f) —— 拉氏变换 ilaplace(f) —— 反拉氏变换 fourier(f) —— 付氏变换 ifourier(f) —— 反付氏变换

F=int(int('x*exp(-x*y)','x'),'y') F= 1/y*exp(-x*y) 例1.计算二重不定积分 F=int(int('x*exp(-x*y)','x'),'y') F= 1/y*exp(-x*y) 例2.计算 f=‘x*exp(-x*10)’的Z变换 f = sym(‘x*exp(-x*10)’) F=ztrans(f) z*exp(-10)/(z-exp(-10))^2

>> syms x y >> F=int(int(x*exp(-x*y),x),y) F = 1/y*exp(-x*y) >> syms x >> f=x*exp(-x*10); >> F=ztrans(f) z*exp(-10)/(z-exp(-10))^2 >> syms x ; F=ztrans(x*exp(-x*10);

例3. 计算指数函数eAt。 用拉氏反变换法计算eAt的公式为: eAt = L-1[(SI-A)-1] 系统矩阵A= 结果: eAt =

>> a=[0 1;-2 -3]; >> syms s >> b=(s*eye(2)-a) b = [ s, -1] [ 2, s+3] >> B=inv(b) [ (s+3)/(s^2+3*s+2), 1/(s^2+3*s+2)] [ -2/(s^2+3*s+2), s/(s^2+3*s+2)]

>> b11=ilaplace(sym(b,1,1));b(1,1)=b11; [ -exp(-2*t)+2*exp(-t), exp(-t)-exp(-2*t)] [ -2*exp(-t)+2*exp(-2*t), 2*exp(-2*t)-exp(-t)]

4.符号代数方程求解 matlab符号运算能够解一般的线性方程、非线性方程及一般的代数方程、代数方程组。当方程组不存在符号解时,又无其他自由参数,则给出数值解。 命令格式: solve(f) —— 求一个方程的解 solve(f1,f2, …fn) —— 求n个方程的解

[1/2/a*(-b+(b^2-4*a*c)^(1/2))] [1/2/a*(-b-(b^2-4*a*c)^(1/2))] 例1. f = ax2+bx+c 求解 f='a*x^2+b*x+c'; solve(f) —— 对缺省变量x求解 ans = [1/2/a*(-b+(b^2-4*a*c)^(1/2))] [1/2/a*(-b-(b^2-4*a*c)^(1/2))] 计算机 格式 一般格式

solve(f , 'b' ) —— 对指定变量b求解 例2. 符号方程cos(x)=sin(x) tan(2*x)=sin(x)求解 ans = -(a*x^2+c)/x 例2. 符号方程cos(x)=sin(x) tan(2*x)=sin(x)求解 f1=solve('cos(x)=sin(x)'), f1 = 1/4*pi

>> f2=solve('tan(2*x)=sin(x)') pi atan(1/2*(-2*3^(1/2))^(1/2),1/2+1/2*3^(1/2)) atan(-1/2*(-2*3^(1/2))^(1/2),1/2+1/2*3^(1/2)) atan(1/2*2^(1/2)*3^(1/4)/(1/2-1/2*3^(1/2)))+pi -atan(1/2*2^(1/2)*3^(1/4)/(1/2-1/2*3^(1/2)))-pi

>> double(f2) ans = 3.14159265358979 0 + 0.83144294552931i 0 - 0.83144294552931i 1.94553075950364 -1.94553075950364

例3. 解方程组 x+y+z=1 x-y+z=2 2x-y-z=1 >>g1='x+y+z=1',g2='x-y+z=2',g3='2*x-y-z=1' >>f=solve(g1,g2,g3) 或者 >>f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')

f = x: [1x1 sym] y: [1x1 sym] z: [1x1 sym] 其中 f.x =2/3 f.y =-1/2 f.z =5/6 [x,y,z]=solve('x+y+z=1','x-y+z=2','2*x-y-z=1') x = 2/3 y =-1/2 z =5/6

5. 符号微分方程求解 —— 用一个函数可以方便地得到微 分方程的符号解 符号微分方程求解指令:dsolve 命令格式:dsolve(f,g) f —— 微分方程,可多至12个微分方程的求 解;g为初始条件 默认自变量为 ‘t',可任意指定自变量‘x', 'u'等 微分方程的各阶导数项以大写字母D表示

[y1,y2…]=dsolve(x1,x2,…xn) —— 返回 微分方程的解 或 y的一阶导数—— Dy y的二阶导数—— D2y y的 n 阶导数—— Dny [y1,y2…]=dsolve(x1,x2,…xn) —— 返回 微分方程的解

ans = cos(a*t) 一阶微分方程 dsolve('Dx=y','Dy=x','x(0)=0','y(0)=1') 二阶微分方程 dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0') ans = cos(a*t)

例3. ans = exp(-t)*sin(t)+exp(-t)*cos(t) ezplot(y) —— 方程解y(t)的时间曲线图 求该方程的解 y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0') ans = exp(-t)*sin(t)+exp(-t)*cos(t) ezplot(y) —— 方程解y(t)的时间曲线图

三、maple函数——符号运算的扩展 maple——是专门进行数学运算的软件工具, 具有超强的符号运算能力,提供了 几乎包括所有数学领域的专用函数 matlab——依赖于maple的内核与函数库,扩 展了自己的符号运算功能。 matlab还设计了对maple库函数的调用功能 使得已有的maple数学功能,可以扩充matlab 中,作为自身符号运算能力的扩展。

1. maple内核访问函数 可以访问maple内核的matlab函数: maple ——— 访问maple内核函数 mapleinit —— maple函数初始化 mpa ———— maple函数定义 mhelp ——— maple函数帮助命令 procread —— maple函数程序安装

. maple 的调用格式 maple('表达式') —— 将表达式送至maple内核, 返回符号表达式结果。 变量。 由线性代数我们知道A非奇异时,A的行列式不为0,此时方程的解是唯一的。 在实际应用中,除法解方程的速度要比求逆法快2.5倍精确度更高,明显优于求逆法,所以推荐尽量使用除运算,少用逆运算.

例1. 展开5阶 bernoulli 多项式,计算 x=3 时bernoulli 数。 a=maple('bernoulli(5,x)') a = -1/6*x+5/3*x^3+x^5-5/2*x^4 a=maple('bernoulli(5,3)') 85

例2. 化简三角函数式sin2x+cos2x 例4. 求f(t)=e-3tsint的拉式变换 a=maple('simplify(sin(x)^2+cos(x)^2)') a = 1 例4. 求f(t)=e-3tsint的拉式变换 f=maple('laplace(exp(-3*t)*sin(t),t,s)') f = 1/((s+3)^2+1)

a=maple('completesquare(x^2+2*x+2)') a = completesquare(x^2+2*x+2) 例4. 寻找二次多项式的完全平方 f (x) = x2+2x+2 a=maple('completesquare(x^2+2*x+2)') a = completesquare(x^2+2*x+2) 将工具包装入内存 maple('with(student);') a=maple('completesquare(x^2+2*x+2)') a = (x+1)^2+1

maple软件中的所有函数,在初始化时并没有完全装入内存,可用readlib指令把库函数读入内存,或用with指令将应用工具包装入内存。 调用格式 maple('readlib(函数名);') maple('with(工具包名);')

例5.求sin(x2+y2)在x=0,y=0处泰勒级数展开式,8阶截断。 maple('mtaylor(sin(x^2+y^2),[x=0,y=0],8)') ans = mtaylor(sin(x^2+y^2),[x = 0, y = 0],8) maple('readlib(mtaylor);') x^2+y^2-1/6*x^6-1/2*y^2*x^4-1/2*y^4*x^2-1/6*y^6

2. mpa —— maple变量定义 任何一个matlab定义的函数f,可使用mpa语句直接调用,还可把 f 定义成maple变量v。 maple的工作空间与matlab工作空间是相互独立的, 所以f 与v是属于不同工作空间中的变量 mpa的调用格式: mpa('v',f) mpa v f f为matlab工作空间中已存在的变量

例. 电磁力计算公式为 试I=0.5,x=0.1邻域展开泰勒级数,3阶截 断,令常数 , 1.直接调用 maple('readlib(mtaylor);') maple('mtaylor(k*I^2/x^2,[I=0.5,x=0.1],3);')

2.定义符号函数f f='k*I^2/x^2'; maple('mtaylor(f,[I=0.5,x=0.1],3);') ans = mtaylor(f,[I = .5, x = .1],3) mpa('u',f) maple('mtaylor(u,[I=0.5,x=0.1],3);') 25.*k-.50e3*k*(x-.1)+.10e3*k*(I-.5)+7500.000000000000*k*(x-.1)^2+.1e3*k*(I-.5)^2-.20e4*k*(I-.5)*(x-.1)

注意:matlab符号运算时,可以识 别matlab定义的符号变量,但在调 用 maple 函数时,需将matlab变量 定义为maple变量后,所调用的函 数方可识别和执行

 mhelp 是协助检索maple库函数的专用命令 调用格式:mhelp 相关词条 例如: mhelp intro — maple介绍 mhelp maple — maple命令格式 mhelp tutorial —maple入门 mhelp index —maple检索 工具词条 函数词条

mhelp index 用于工具包检索 library ——maple标准库函数 packages —— 应用工具包 libmisc —— 其它库函数 statements —— maple语句描述 expressions —— maple表达式 datatypes —— maple数据格式 tables —— maple表格和阵列 procedures —— maple程序 misc —— maple其它应用

一般帮助文本主要包括以下部分 FUNCTION—— 函数功能说明 CALLING SEQUENCE—— 调用格式 PARAMETERS —— 调用参数说明 SYNOPSIS —— 语法说明 EXAMPLES —— 应用举例 SEE ALSO —— 相关词条

4.maple库函数 maple库函数共分四类 maple内部函数:驻留函数任何条件 下都可调用 mhelp index[internal]  maple的外部函数—读库定义部分: 调用时先执行读库命令,因此与内部函 数一样可直接调用 mhelp index[external]

 maple的外部函数—读库装入部分 maple其余外部函数需要在使用前执行maple('readlib(函数名);')命令将其装入内存 mhelp index[libmisc]  maple的惰性函数—不能直接调用,还需一些函数如mod,evala,evalf 等才能调用 mhelp index[intert]

小 结 本节介绍了matlab语言的符号运算 功能,通过学习应该掌握: 掌握如何创建、修改符号矩阵 掌握符号运算功能 maple函数调用 mhelp检索