第4章 maple方程求解
- 格式:pdf
- 大小:502.04 KB
- 文档页数:22
maple 微分方程组摘要:1. Maple简介2.微分方程组介绍3.Maple在解决微分方程组中的应用4.具体示例与操作步骤5.总结与展望正文:【1】Maple简介Maple是一款强大的数学软件,拥有丰富的函数和工具,可以用于解决各种数学问题。
其图形化界面和交互式环境使得用户可以轻松地进行数学计算、可视化和编程。
在本文中,我们将重点介绍如何利用Maple解决微分方程组问题。
【2】微分方程组介绍微分方程组是数学中的一种常见问题,它涉及多个变量的相互关系。
通常形式如下:dx/dt = f(x, t)dy/dt = g(x, t)其中x和y是未知函数,t是时间变量,f(x, t)和g(x, t)是关于x和t的函数。
解决微分方程组有助于了解系统在不同时间点的状态,从而应用于物理、生物、经济等领域的建模和预测。
【3】Maple在解决微分方程组中的应用Maple提供了丰富的函数和操作符,可以方便地处理微分方程组。
以下是一些基本步骤:1.定义方程组:首先,我们需要用Maple符号表示微分方程组。
例如,假设我们有一个两阶微分方程组:ds(x)/dt = x - 2yds(y)/dt = 3x - 4y我们可以用以下方式表示:ds(x) / dt = x - 2*yds(y) / dt = 3*x - 4*y2.初始条件:为了求解方程组,我们还需要指定初始条件。
例如,给定以下初始条件:s(x, 0) = 1,s(y, 0) = 0我们可以用以下方式表示:s(x, 0) = 1s(y, 0) = 03.求解方程组:接下来,我们可以使用Maple的ODE45或其他求解器函数来求解微分方程组。
例如,使用ODE45求解上述方程组,我们可以输入以下命令:ds(x) / dt = x - 2*yds(y) / dt = 3*x - 4*ys(x, 0) = 1s(y, 0) = 04.分析结果:Maple会输出解的数值表示、图形和有关解的更多信息。
Maple常用计算命令Maple 常用计算命令《Maple 指令》7.0版本第1章章数1.1 复数Re,Im - 返回复数型表达式的实部/虚部abs - 绝对值函数argument - 复数的幅角函数conjugate - 返回共轭复数csgn - 实数和复数表达式的符号函数signum - 实数和复数表达式的sign 函数51.2 MAPLE 常数已知的变量名称指数常数(以自然对数为底)I - x^2 = -1 的根infinity 无穷大1.3 整数函数! - 阶乘函数irem, iquo - 整数的余数/商isprime - 素数测试isqrfree - 无整数平方的因数分解max, min - 数的最大值/最小值mod, modp, mods - 计算对 m 的整数模rand - 随机数生成器randomize - 重置随机数生成器1.4 素数Randpoly, Randprime - 有限域的随机多项式/首一素数多项式ithprime - 确定第i个素数nextprime, prevprime - 确定下一个最大/最小素数1.5 数的进制转换convert/base - 基数之间的转换convert/binary - 转换为二进制形式convert/decimal - 转换为 10 进制convert/double - 将双精度浮点数由一种形式转换为另一种形式convert/float - 转换为浮点数convert/hex - 转换为十六进制形式convert/metric - 转换为公制单位convert/octal - 转换为八进制形式1.6 数的类型检查type - 数的类型检查函数第2章初等数学2.1 初等函数product - 确定乘积求和不确定乘积exp - 指数函数sum - 确定求和不确定求和sqrt - 计算平方根算术运算符+, -, *, /, ^add, mul - 值序列的加法/乘法2.2 三角函数arcsin, arcsinh, . - 反三角函数/反双曲函数sin, sinh, . - 三角函数/双曲函数2.3 LOGARITHMS 函数dilog - Dilogarithm函数ln, log, log10 - 自然对数/一般对数,常用对数2.4 类型转换convert/`+`,convert/`*` - 转换为求和/乘积convert/hypergeom - 将求和转换为超越函数convert/degrees - 将弧度转换为度convert/expsincos - 将trig 函数转换为exp, sin, cosconvert/Ei - 转换为指数积分convert/exp - 将trig 函数转换为指数函数convert/ln - 将arctrig转换为对数函数polar - 转换为极坐标形式convert/radians - 将度转换为弧度convert/sincos - 将trig 函数转换为sin, cos, sinh, cosh convert/tan - 将trig 函数转换为tanconvert/trig - 将指数函数转换为三角函数和双曲函数第3章求值3.1 假设功能3.2 求值Eval - 对一个表达式求值eval - 求值evala - 在代数数(或者函数)域求值evalb - 按照一个布尔表达式求值evalc - 在复数域上符号求值evalf - 使用浮点算法求值evalhf - 用硬件浮点数算法对表达式求值evalm - 对矩阵表达式求值evaln - 求值到一个名称evalr, shake - 用区间算法求表达式的值和计算范围evalrC - 用复数区间算法对表达式求值value - 求值的惰性函数第4章求根,解方程4.1 数值解fsolve - 利用浮点数算法求解solve/floats - 包含浮点数的表达式4.2 最优化extrema - 寻找一个表达式的相对极值minimize, maximize - 计算最小值/最大值maxnorm - 一个多项式无穷大范数4.3 求根allvalues -计算含有RootOfs的表达式的所有可能值isqrt, iroot - 整数的平方根/第n 次根realroot - 一个多项式的实数根的隔离区间root - 一个代数表达式的第n 阶根RootOf - 方程根的表示surd - 非主根函数roots - 一个多项式对一个变量的精确根turm, sturmseq - 多项式在区间上的实数根数和实根序列4.4 解方程eliminate - 消去一个方程组中的某些变量isolve - 求解方程的整数解solvefor - 求解一个方程组的一个或者多个变量isolate - 隔离一个方程左边的一个子表达式singular - 寻找一个表达式的极点solve/identity - 求解包含属性的表达式solve/ineqs - 求解不等式solve/linear - 求解线性方程组solve/radical - 求解含有未知量根式的方程solve/scalar - 标量情况(单变量和方程)solve/series - 求解含有一般级数的方程solve/system - 解方程组或不等式组第5章操作表达式5.1 处理表达式Norm - 代数数 (或者函数) 的标准型Power - 惰性幂函数Powmod -带余数的惰性幂函数Primfield - 代数域的原始元素Trace - 求一个代数数或者函数的迹charfcn - 表达式和集合的特征函数Indets - 找一个表达式的变元invfunc - 函数表的逆powmod - 带余数的幂函数Risidue - 计算一个表达式的代数余combine - 表达式合并expand - 表达式展开Expand - 展开表达式的惰性形式expandoff/expandon - 抑制/不抑制函数展开5.2 因式分解Afactor - 绝对因式分解的惰性形式Afactors - 绝对因式分解分解项列表的惰性形式Berlekamp - 因式分解的Berlekamp显式度factor - 多元的多项式的因式分解factors - 多元多项式的因式分解列表Factor - 函数factor 的惰性形式Factors - 函数factors 的惰性形式polytools[splits] - 多项式的完全因式分解第6章化简6.1 表达式化简118simplify - 给一个表达式实施化简规则simplify/@ - 利用运算符化简表达式simplify/Ei - 利用指数积分化简表达式simplify/GAMMA - 利用GAMMA 函数进行化简simplify/RootOf - 用RootOf函数化简表达式simplify/wronskian - 化简含wronskian标识符的表达式simplify/hypergeom - 化简超越函数表达式simplify/ln - 化简含有对数的表达式simplify/piecewise - 化简分段函数表达式simplify/polar - 化简含有极坐标形式的复数型表达式simplify/power - 化简含幂次的表达式simplify/radical - 化简含有根式的表达式simplify/rtable - 化简rtable表达式simplify/siderels - 使用关系式进行化简simplify/sqrt - 根式化简simplify/trig - 化简trig 函数表达式simplify/zero - 化简含嵌入型实数和虚数的复数表达式6.2 其它化简操作Normal - normal 函数的惰性形式convert - 将一个表达式转换成不同形式radnormal - 标准化一个含有根号数的表达式rationalize - 分母有理化第7章操作多项式7.0 MAPLE 中的多项式简介7.1 提取coeff - 提取一个多项式的系数coeffs - 提取多元的多项式的所有系数coeftayl - 多元表达式的系数lcoeff, tcoeff - 返回多元多项式的首项和末项系数7.2 多项式约数和根gcd, lcm - 多项式的最大公约数/最小公倍数psqrt, proot - 多项式的平方根和第n次根rem,quo - 多项式的余数/商7.3 操纵多项式convert/horner - 将一个多项式转换成Horner形式collect - 象幂次一样合并系数compoly - 确定一个多项式的可能合并的项数convert/polynom - 将级数转换成多项式形式convert/mathorner - 将多项式转换成Horner矩阵形式convert/ratpoly - 将级数转换成有理多项式sort - 将值的列表或者多项式排序sqrfree - 不含平方项的因数分解函数7.4 多项式运算discrim - 多项式的判别式fixdiv - 计算多项式的固定除数norm - 多项式的标准型resultant - 计算两个多项式的终结式bernoulli - Bernoulli 数和多项式bernstein - 用Bernstein多项式近似一个函数content, primpart - 一个多元的多项式的内容和主部degree, ldegree - 一个多项式的最高次方/最低次方divide - 多项式的精确除法euler - Euler 数和多项式icontent - 多项式的整数部分interp - 多项式的插值prem, sprem - 多项式的pseudo 余数和稀疏pseudo 余数randpoly - 随机多项式生成器spline - 计算自然样条函数第8章有理表达式8.0 有理表达式简介8.1 操作有理多项式numer,denom - 返回一个表达式的分子/分母frontend - 将一般的表达式处理成一个有理表达式normal - 标准化一个有理表达式convert/parfrac - 转换为部分分数形式convert/rational - 将浮点数转换为接近的有理数ratrecon - 重建有理函数第9章微积分9.1 取极限Limit, limit - 计算极限limit[dir] - 计算方向极限limit[multi] - 多重方向极限limit[return] - 极限的返回值9.2 连续性测试discont - 寻找一个函数在实数域上的间断点fdiscont - 用数值法寻找函数在实数域上的间断点iscont - 测试在一个区间上的连续性9.3 微分计算D - 微分算子D, diff - 运算符D 和函数diffdiff, Diff - 微分或者偏微分convert/D - 将含导数表达式转换为D运算符表达式convert/diff - 将D(f)(x)表达式转换为diff(f(x),x)的形式implicitdiff - 由一个方程定义一个函数的微分9.4 积分计算Si, Ci … - 三角和双曲积分Dirac, Heaviside - Dirac 函数/Heaviside阶梯函数Ei - 指数积分Elliptic - 椭圆积分FresnelC, … - Fresnel 正弦,余弦积分和辅助函数int, Int - 定积分和不定积分LegendreP, … - Legendre 函数及其第一和第二类函数Li - 对数积分student[changevar] - 变量代换dawson - Dawson 积分ellipsoid - 椭球体的表面积evalf(int) - 数值积分intat, Intat - 在一个点上积分求值第10章微分方程10.1 微分方程分类odeadvisor - ODE-求解分析器DESol - 表示微分方程解的数据结构pdetest - 测试pdsolve能找到的偏微分方程(PDEs)解10.2 常微分方程求解dsolve - 求解常微方程 (ODE)dsolve - 用给定的初始条件求解ODE 问题dsolve/inttrans - 用积分变换方法求解常微分方程dsolve/numeric - 常微方程数值解dsolve/piecewise - 带分段系数的常微方程求解dsolve - 寻找ODE 问题的级数解dsolve - 求解ODEs 方程组odetest - 从ODE 求解器中测试结果是显式或者隐式类型10.3 偏微分方程求解pdsolve - 寻找偏微分方程 (PDEs) 的解析解第11章数值计算11.1 MAPLE 中的数值计算环境IEEE 标准和Maple数值计算数据类型特殊值环境变量11.2 算法标准算法复数算法含有0,无穷和未定义数的算法11.3 数据构造器254complex - 复数和复数构造器Float, … - 浮点数及其构造器Fraction - 分数及其的构造器integer - 整数和整数构造器11.4 MATLAB 软件包简介11.5 “”区间类型表达式第12章级数12.1 幂级数的阶数Order - 阶数项函数order - 确定级数的截断阶数12.2 常见级数展开series - 一般的级数展开taylor - Taylor 级数展开mtaylor - 多元Taylor级数展开poisson - Poisson级数展开.26812.3 其它级数eulermac - Euler-Maclaurin求和piecewise - 分段连续函数asympt - 渐进展开第13章特殊函数AiryAi, AiryBi - Airy 波动函数AiryAiZeros, AiryBiZeros - Airy函数的实数零点AngerJ, WeberE - Anger函数和Weber函数Bessel I, HankelH1, … - Bessel函数和Hankel函数BesselJZeros, … - Bessel函数实数零点Beta - Beta函数EllipticModulus - 模数函数k(q)GAMMA, lnGAMMA - 完全和不完全Gamma函数GaussAGM - Gauss 算术的几何平均数JacobiAM, ., - Jacobi 振幅函数和椭圆函数JacobiTheta1, JacobiTheta4 - Jacobi theta函数JacobiZeta - Jacobi 的Zeta函数KelvinBer, KelvinBei - Kelvin函数KummerM, - Kummer M函数和U函数LambertW - LambertW函数LerchPhi - 一般的Lerch Phi函数LommelS1, LommelS2 - Lommel函数MeijerG - 一个修正的Meijer G函数Psi - Digamma 和Polygamma函数StruveH, StruveL - Struve函数WeierstrassP - Weierstrass P函数及其导数WhittakerM - Whittaker 函数Zeta - Zeta 函数erf, … - 误差函数,补充的误差函数和虚数误差函数harmonic - 调和函数hypergeom - 广义的超越函数pochhammer - 一般的pochhammer函数polylog - 一般的polylogarithm函数第14章线性代数14.1 ALGEBRA(代数)中矩阵,矢量和数组14.2 LINALG 软件包简介14.3 数据结构矩阵matrices(小写)矢量vectors(矢量)convert/matrix - 将数组,列表,Matrix 转换成matrix convert/vector - 将列表,数组或Vector 转换成矢量vector linalg[matrix] - 生成矩阵matrix(小写)linalg[vector] - 生成矢量vector(小写)14.4 惰性函数Det - 惰性行列式运算符Eigenvals - 数值型矩阵的特征值和特征向量Hermite, Smith - 矩阵的Hermite和Smith 标准型14.5 LinearAlgebra函数Matrix 定义矩阵Add 加/减矩阵Adjoint伴随矩阵BackwardSubstitute求解 A . X = B,其中 A 为上三角型行阶梯矩阵BandMatrix带状矩阵Basis 返回向量空间的一组基SumBasis返回向量空间直和的一组基IntersectionBasis返回向量空间交的一组基BezoutMatrix构造两个多项式的Bezout矩阵BidiagonalForm将矩阵约化为双对角型CharacteristicMatrix构造特征矩阵CharacteristicPolynomial 构造矩阵的特征多项式CompanionMatrix构造一个首一(或非首一)多项式或矩阵多项式的友矩阵(束)ConditionNumber计算矩阵关于某范数的条件数ConstantMatrix构造常数矩阵ConstantVector构造常数向量Copy 构造矩阵或向量的一份复制CreatePermutation将一个NAG 主元向量转换为一个置换向量或矩阵CrossProduct向量的叉积`&x` 向量的叉积DeleteRow删除矩阵的行DeleteColumn删除矩阵的列Determinant 行列式Diagonal 返回从矩阵中得到的向量序列DiagonalMatrix构造(分块)对角矩阵Dimension 行数和列数DotProduct点积BilinearForm向量的双线性形式EigenConditionNumbers计算数值特征值制约问题的特征值或特征向量的条件数Eigenvalues 计算矩阵的特征值Eigenvectors 计算矩阵的特征向量Equal 比较两个向量或矩阵是否相等ForwardSubstitute求解 A . X = B,其中 A 为下三角型行阶梯矩阵FrobeniusForm将一个方阵约化为Frobenius型(有理标准型)GaussianElimination对矩阵作高斯消元ReducedRowEchelonForm对矩阵作高斯-约当消元GetResultDataType返回矩阵或向量运算的结果数据类型GetResultShape返回矩阵或向量运算的结果形状GivensRotationMatrix构造 Givens 旋转的矩阵GramSchmidt计算一个正交向量集HankelMatrix构造一个Hankel矩阵HermiteForm计算一个矩阵的Hermite正规型HessenbergForm将一个方阵约化为上Hessenberg型HilbertMatrix构造广义 Hilbert 矩阵HouseholderMatrix构造 Householder 反射矩阵IdentityMatrix构造一个单位矩阵IsDefinite检验矩阵的正定性,负定性或不定性IsOrthogonal检验矩阵是否正交IsUnitary检验矩阵是否为酉矩阵IsSimilar确定两个矩阵是否相似JordanBlockMatrix构造约当块矩阵JordanForm将矩阵约化为约当型KroneckerProduct构造两个矩阵的Kronecker张量积LeastSquares方程的最小二乘解LinearSolve求解线性方程组 A . x = bLUDecomposition计算矩阵的Cholesky,PLU 或 PLU1R 分解Map 将一个程序映射到一个表达式上,对矩阵和向量在原位置上进行处理MatrixAdd计算两个矩阵的线性组合VectorAdd计算两个向量的线性组合MatrixExponential确定一个矩阵 A 的矩阵指数exp(A)MatrixFunction确定方阵 A 的函数 F(A)MatrixInverse计算方阵的逆或矩阵的Moore-Penrose 伪逆MatrixMatrixMultiply计算两个矩阵的乘积MatrixVectorMultiply计算一个矩阵和一个列向量的乘积VectorMatrixMultiply计算一个行向量和一个矩阵的乘积MatrixPower矩阵的幂MinimalPolynomial构造矩阵的最小多项式Minor 计算矩阵的子式Multiply 矩阵相乘Norm 计算矩阵或向量的p-范数MatrixNorm计算矩阵的p-范数VectorNorm计算向量的p-范数Normalize 向量正规化NullSpace计算矩阵的零度零空间OuterProductMatrix两个向量的外积Permanent 方阵的不变量Pivot 矩阵元素的主元消去法PopovForm Popov 正规型QRDecomposition QR 分解RandomMatrix构造随机矩阵RandomVector构造随机向量Rank 计算矩阵的秩Row 返回矩阵的一个行向量序列Column 返回矩阵的一个列向量序列RowOperation对矩阵作初等行变换ColumnOperation对矩阵作出等列变换RowSpace返回矩阵行空间的一组基ColumnSpace返回矩阵列空间的一组基ScalarMatrix构造一个单位矩阵的数量倍数ScalarVector构造一个单位向量的数量倍数ScalarMultiply矩阵与数的乘积MatrixScalarMultiply计算矩阵与数的乘积VectorScalarMultiply计算向量与数的乘积SchurForm将方阵约化为Schur型SingularValues计算矩阵的奇异值SmithForm将矩阵约化为 Smith 正规型StronglyConnectedBlocks计算方阵的强连通块SubMatrix构造矩阵的子矩阵SubVector构造向量的子向量SylvesterMatrix构造两个多项式的 Sylvester 矩阵ToeplitzMatrix构造Toeplitz矩阵Trace 计算方阵的迹Transpose 转置矩阵HermitianTranspose共轭转置矩阵TridiagonalForm将方阵约化为三对角型UnitVector构造单位向量VandermondeMatrix构造一个Vandermonde矩阵VectorAngle计算两个向量的夹角ZeroMatrix构造一个零矩阵ZeroVector构造一个零向量Zip 将一个具有两个参数的程序作用到一对矩阵或向量上LinearAlgebra[Generic] 子函数包[Generic] 子函数包提供作用在场,欧几里得域,积分域和环上的线性代数算法。
maple解多元方程
Maple是一种数学建模软件,它可以用来解决各种数学问题,包括解多元方程。
多元方程是指包含多个未知量的方程,这些未知量之间存在复杂的关系。
在实际问题中,多元方程往往用来描述多个变量之间的相互作用或制约关系,例如经济学、物理学、生物学等领域中的模型。
Maple可以通过命令行或图形界面来输入多元方程,并利用其内置的求解算法来求解方程组的解。
Maple支持的特征包括符号计算、数值计算、矩阵计算、绘图等,这些特征使得Maple成为理论和实践中广泛使用的数学工具。
对于初学者来说,Maple的语法可能较为复杂,但是通过学习Maple的基础语法和常用命令,就可以掌握其解决多元方程的能力。
在实际应用中,Maple可以用来解决各种多元方程,例如线性方程组、非线性方程组、差分方程等。
总之,Maple是一种强大的数学建模软件,它可以用来解决各种多元方程,帮助研究者更好地理解和解决实际问题。
- 1 -。
怎样利用Maple对方程进行求解
Maple的运算功能非常强大,在运算时能够解决各种各样的数学问题,对于一般的函数而言能够解决,同样的,也能够对方程进行求解。
下面介绍Maple求解方程的一些命令。
Maple解方程时经常用到下面几个命令:
solve(方程,未知数);fsolve(方程,未知数,选项);解数值解
选项:plex复数域上求根,2.fulldigits保持精度,3.maxsols=n求n个解,4.范围。
一.一元方程(省略“=”号为=0)
二.方程组
三.数值解
四.多项式分解因式、函数展开、合并、化简、转换:
factor(多项式,k),expand(函数),combine(函数),simplify(表达式),convert(表达式,形式,选项),取分子numer(分式),取分母denom(分式)
以上内容向大家介绍了Maple求解方程的常见命令格式,Maple对于一般的函数和方程都能够进行求解,甚至是复杂的方程也能进行求解,Maple符号计算尤其突出,这方面是所有的计算软件都无法比拟的。
Maple常用计算命令..常用计算命令《Maple 指令》7.0版本第1章章数1.1 复数Re,Im - 返回复数型表达式的实部/虚部abs - 绝对值函数argument - 复数的幅角函数conjugate - 返回共轭复数csgn - 实数和复数表达式的符号函数signum - 实数和复数表达式的sign 函数51.2 MAPLE 常数已知的变量名称指数常数(以自然对数为底)I - x^2 = -1 的根infinity 无穷大1.3 整数函数! - 阶乘函数irem, iquo - 整数的余数/商isprime - 素数测试isqrfree - 无整数平方的因数分解max, min - 数的最大值/最小值mod, modp, mods - 计算对 m 的整数模rand - 随机数生成器randomize - 重置随机数生成器1.4 素数Randpoly, Randprime - 有限域的随机多项式/首一素数多项式ithprime - 确定第 i 个素数nextprime, prevprime - 确定下一个最大/最小素数1.5 数的进制转换convert/base - 基数之间的转换convert/binary - 转换为二进制形式convert/decimal - 转换为 10 进制convert/double - 将双精度浮点数由一种形式转换为另一种形式convert/float - 转换为浮点数convert/hex - 转换为十六进制形式convert/metric - 转换为公制单位convert/octal - 转换为八进制形式1.6 数的类型检查type - 数的类型检查函数第2章初等数学2.1 初等函数product - 确定乘积求和不确定乘积exp - 指数函数sum - 确定求和不确定求和sqrt - 计算平方根算术运算符+, -, *, /, ^add, mul - 值序列的加法/乘法2.2 三角函数arcsin, arcsinh, . - 反三角函数/反双曲函数sin, sinh, . - 三角函数/双曲函数2.3 LOGARITHMS 函数dilog - Dilogarithm 函数ln, log, log10 - 自然对数/一般对数,常用对数2.4 类型转换convert/`+`,convert/`*` - 转换为求和/乘积convert/hypergeom - 将求和转换为超越函数convert/degrees - 将弧度转换为度convert/expsincos - 将trig 函数转换为exp, sin, cosconvert/Ei - 转换为指数积分convert/exp - 将trig 函数转换为指数函数convert/ln - 将arctrig 转换为对数函数polar - 转换为极坐标形式convert/radians - 将度转换为弧度convert/sincos - 将trig 函数转换为sin, cos, sinh, cosh convert/tan - 将trig 函数转换为tanconvert/trig - 将指数函数转换为三角函数和双曲函数第3章求值3.1 假设功能3.2 求值Eval - 对一个表达式求值eval - 求值evala - 在代数数(或者函数)域求值evalb - 按照一个布尔表达式求值evalc - 在复数域上符号求值evalf - 使用浮点算法求值evalhf - 用硬件浮点数算法对表达式求值evalm - 对矩阵表达式求值evaln - 求值到一个名称evalr, shake - 用区间算法求表达式的值和计算范围evalrC - 用复数区间算法对表达式求值value - 求值的惰性函数第4章求根,解方程4.1 数值解fsolve - 利用浮点数算法求解solve/floats - 包含浮点数的表达式4.2 最优化extrema - 寻找一个表达式的相对极值minimize, maximize - 计算最小值/最大值maxnorm - 一个多项式无穷大范数4.3 求根allvalues -计算含有RootOfs的表达式的所有可能值isqrt, iroot - 整数的平方根/第n 次根realroot - 一个多项式的实数根的隔离区间root - 一个代数表达式的第n 阶根RootOf - 方程根的表示surd - 非主根函数roots - 一个多项式对一个变量的精确根turm, sturmseq - 多项式在区间上的实数根数和实根序列4.4 解方程eliminate - 消去一个方程组中的某些变量isolve - 求解方程的整数解solvefor - 求解一个方程组的一个或者多个变量isolate - 隔离一个方程左边的一个子表达式singular - 寻找一个表达式的极点solve/identity - 求解包含属性的表达式solve/ineqs - 求解不等式solve/linear - 求解线性方程组solve/radical - 求解含有未知量根式的方程solve/scalar - 标量情况(单变量和方程)solve/series - 求解含有一般级数的方程solve/system - 解方程组或不等式组第5章操作表达式5.1 处理表达式Norm - 代数数 (或者函数) 的标准型Power - 惰性幂函数Powmod -带余数的惰性幂函数Primfield - 代数域的原始元素Trace - 求一个代数数或者函数的迹charfcn - 表达式和集合的特征函数Indets - 找一个表达式的变元invfunc - 函数表的逆powmod - 带余数的幂函数Risidue - 计算一个表达式的代数余combine - 表达式合并(对tan,cot不好用)expand - 表达式展开Expand - 展开表达式的惰性形式expandoff/expandon - 抑制/不抑制函数展开5.2 因式分解Afactor - 绝对因式分解的惰性形式Afactors - 绝对因式分解分解项列表的惰性形式Berlekamp - 因式分解的Berlekamp 显式度factor - 多元的多项式的因式分解factors - 多元多项式的因式分解列表Factor - 函数factor 的惰性形式Factors - 函数factors 的惰性形式polytools[splits] - 多项式的完全因式分解第6章化简6.1 表达式化简118simplify - 给一个表达式实施化简规则simplify/@ - 利用运算符化简表达式simplify/Ei - 利用指数积分化简表达式simplify/GAMMA - 利用GAMMA 函数进行化简simplify/RootOf - 用RootOf 函数化简表达式simplify/wronskian - 化简含wronskian 标识符的表达式simplify/hypergeom - 化简超越函数表达式simplify/ln - 化简含有对数的表达式simplify/piecewise - 化简分段函数表达式simplify/polar - 化简含有极坐标形式的复数型表达式simplify/power - 化简含幂次的表达式simplify/radical - 化简含有根式的表达式simplify/rtable - 化简rtable 表达式simplify/siderels - 使用关系式进行化简simplify/sqrt - 根式化简simplify/trig - 化简trig 函数表达式simplify/zero - 化简含嵌入型实数和虚数的复数表达式6.2 其它化简操作Normal - normal 函数的惰性形式convert - 将一个表达式转换成不同形式radnormal - 标准化一个含有根号数的表达式rationalize - 分母有理化第7章操作多项式7.0 MAPLE 中的多项式简介7.1 提取coeff - 提取一个多项式的系数coeffs - 提取多元的多项式的所有系数coeftayl - 多元表达式的系数lcoeff, tcoeff - 返回多元多项式的首项和末项系数7.2 多项式约数和根gcd, lcm - 多项式的最大公约数/最小公倍数psqrt, proot - 多项式的平方根和第n次根rem,quo - 多项式的余数/商7.3 操纵多项式convert/horner - 将一个多项式转换成Horner形式collect - 象幂次一样合并系数compoly - 确定一个多项式的可能合并的项数convert/polynom - 将级数转换成多项式形式convert/mathorner - 将多项式转换成Horner矩阵形式convert/ratpoly - 将级数转换成有理多项式sort - 将值的列表或者多项式排序sqrfree - 不含平方项的因数分解函数discrim - 多项式的判别式fixdiv - 计算多项式的固定除数norm - 多项式的标准型resultant - 计算两个多项式的终结式bernoulli - Bernoulli 数和多项式bernstein - 用Bernstein多项式近似一个函数content, primpart - 一个多元的多项式的内容和主部degree, ldegree - 一个多项式的最高次方/最低次方divide - 多项式的精确除法euler - Euler 数和多项式icontent - 多项式的整数部分interp - 多项式的插值prem, sprem - 多项式的pseudo 余数和稀疏pseudo 余数randpoly - 随机多项式生成器spline - 计算自然样条函数第8章有理表达式8.0 有理表达式简介8.1 操作有理多项式numer,denom - 返回一个表达式的分子/分母frontend - 将一般的表达式处理成一个有理表达式normal - 标准化一个有理表达式convert/parfrac - 转换为部分分数形式convert/rational - 将浮点数转换为接近的有理数ratrecon - 重建有理函数第9章微积分9.1 取极限Limit, limit - 计算极限limit[dir] - 计算方向极限limit[multi] - 多重方向极限limit[return] - 极限的返回值9.2 连续性测试discont - 寻找一个函数在实数域上的间断点fdiscont - 用数值法寻找函数在实数域上的间断点iscont - 测试在一个区间上的连续性D - 微分算子D, diff - 运算符D 和函数diffdiff, Diff - 微分或者偏微分convert/D - 将含导数表达式转换为D运算符表达式convert/diff - 将D(f)(x)表达式转换为diff(f(x),x)的形式implicitdiff - 由一个方程定义一个函数的微分9.4 积分计算Si, Ci … - 三角和双曲积分Dirac, Heaviside - Dirac 函数/Heaviside阶梯函数Ei - 指数积分Elliptic - 椭圆积分FresnelC, … - Fresnel 正弦,余弦积分和辅助函数int, Int - 定积分和不定积分Legendr eP, … - Legendre 函数及其第一和第二类函数Li - 对数积分student[changevar] - 变量代换dawson - Dawson 积分ellipsoid - 椭球体的表面积evalf(int) - 数值积分intat, Intat - 在一个点上积分求值第10章微分方程10.1 微分方程分类odeadvisor - ODE-求解分析器DESol - 表示微分方程解的数据结构pdetest - 测试pdsolve 能找到的偏微分方程(PDEs)解10.2 常微分方程求解dsolve - 求解常微方程 (ODE)dsolve - 用给定的初始条件求解ODE 问题dsolve/inttrans - 用积分变换方法求解常微分方程dsolve/numeric - 常微方程数值解dsolve/piecewise - 带分段系数的常微方程求解dsolve - 寻找ODE 问题的级数解dsolve - 求解ODEs 方程组odetest - 从ODE 求解器中测试结果是显式或者隐式类型10.3 偏微分方程求解pdsolve - 寻找偏微分方程 (PDEs) 的解析解第11章数值计算11.1 MAPLE 中的数值计算环境IEEE 标准和Maple数值计算数据类型特殊值环境变量11.2 算法标准算法复数算法含有0,无穷和未定义数的算法11.3 数据构造器254complex - 复数和复数构造器Float, … - 浮点数及其构造器Fraction - 分数及其的构造器integer - 整数和整数构造器11.4 MATLAB 软件包简介11.5 “”区间类型表达式第12章级数12.1 幂级数的阶数Order - 阶数项函数order - 确定级数的截断阶数12.2 常见级数展开series - 一般的级数展开taylor - Taylor 级数展开mtaylor - 多元Taylor级数展开poisson - Poisson级数展开.26812.3 其它级数eulermac - Euler-Maclaurin求和piecewise - 分段连续函数asympt - 渐进展开第13章特殊函数AiryAi, AiryBi - Airy 波动函数AiryAiZeros, AiryBiZeros - Airy函数的实数零点AngerJ, WeberE - Anger函数和Weber函数BesselI, HankelH1, … - Bessel函数和Hankel函数BesselJZeros, … - Bessel函数实数零点Beta - Beta函数EllipticModulus - 模数函数k(q)GAMMA, lnGAMMA - 完全和不完全Gamma函数GaussAGM - Gauss 算术的几何平均数JacobiAM, ., - Jacobi 振幅函数和椭圆函数JacobiTheta1, JacobiTheta4 - Jacobi theta函数JacobiZeta - Jacobi 的Zeta函数KelvinBer, KelvinBei - Kelvin函数KummerM, - Kummer M函数和U函数LambertW - LambertW函数LerchPhi - 一般的Lerch Phi函数LommelS1, LommelS2 - Lommel函数MeijerG - 一个修正的Meijer G函数Psi - Digamma 和Polygamma函数StruveH, StruveL - Struve函数WeierstrassP - Weierstrass P函数及其导数WhittakerM - Whittaker 函数Zeta - Zeta 函数erf, … - 误差函数,补充的误差函数和虚数误差函数harmonic - 调和函数hypergeom - 广义的超越函数pochhammer - 一般的pochhammer函数polylog - 一般的polylogarithm函数第14章线性代数14.1 ALGEBRA(代数)中矩阵,矢量和数组14.2 LINALG 软件包简介14.3 数据结构矩阵matrices(小写)矢量vectors(矢量)convert/matrix - 将数组,列表,Matrix 转换成matrixconvert/vector - 将列表,数组或Vector 转换成矢量vector linalg[matrix] - 生成矩阵matrix(小写)linalg[vector] - 生成矢量vector(小写)14.4 惰性函数Det - 惰性行列式运算符Eigenvals - 数值型矩阵的特征值和特征向量Hermite, Smith - 矩阵的Hermite 和Smith 标准型14.5 LinearAlgebra函数Matrix 定义矩阵Add 加/减矩阵Adjoint 伴随矩阵BackwardSubstitute 求解 A . X = B,其中 A 为上三角型行阶梯矩阵BandMatrix 带状矩阵Basis 返回向量空间的一组基SumBasis 返回向量空间直和的一组基IntersectionBasis 返回向量空间交的一组基BezoutMatrix 构造两个多项式的 Bezout 矩阵BidiagonalForm 将矩阵约化为双对角型CharacteristicMatrix 构造特征矩阵CharacteristicPolynomial 构造矩阵的特征多项式CompanionMatrix 构造一个首一(或非首一)多项式或矩阵多项式的友矩阵(束)ConditionNumber 计算矩阵关于某范数的条件数ConstantMatrix 构造常数矩阵ConstantVector 构造常数向量Copy 构造矩阵或向量的一份复制CreatePermutation 将一个NAG 主元向量转换为一个置换向量或矩阵CrossProduct 向量的叉积`&x` 向量的叉积DeleteRow 删除矩阵的行DeleteColumn 删除矩阵的列Determinant 行列式Diagonal 返回从矩阵中得到的向量序列DiagonalMatrix 构造(分块)对角矩阵Dimension 行数和列数DotProduct 点积BilinearForm 向量的双线性形式EigenConditionNumbers 计算数值特征值制约问题的特征值或特征向量的条件数Eigenvalues 计算矩阵的特征值Eigenvectors 计算矩阵的特征向量Equal 比较两个向量或矩阵是否相等ForwardSubstitute 求解 A . X = B,其中 A 为下三角型行阶梯矩阵FrobeniusForm 将一个方阵约化为 Frobenius 型(有理标准型)GaussianElimination 对矩阵作高斯消元ReducedRowEchelonForm 对矩阵作高斯-约当消元GetResultDataType 返回矩阵或向量运算的结果数据类型GetResultShape 返回矩阵或向量运算的结果形状GivensRotationMatrix 构造 Givens 旋转的矩阵GramSchmidt 计算一个正交向量集HankelMatrix 构造一个 Hankel 矩阵HermiteForm 计算一个矩阵的 Hermite 正规型HessenbergForm 将一个方阵约化为上 Hessenberg 型HilbertMatrix 构造广义 Hilbert 矩阵HouseholderMatrix 构造 Householder 反射矩阵IdentityMatrix 构造一个单位矩阵IsDefinite 检验矩阵的正定性,负定性或不定性IsOrthogonal 检验矩阵是否正交IsUnitary 检验矩阵是否为酉矩阵IsSimilar 确定两个矩阵是否相似JordanBlockMatrix 构造约当块矩阵JordanForm 将矩阵约化为约当型KroneckerProduct 构造两个矩阵的 Kronecker 张量积LeastSquares 方程的最小二乘解LinearSolve 求解线性方程组 A . x = bLUDecomposition 计算矩阵的 Cholesky,PLU 或 PLU1R 分解Map 将一个程序映射到一个表达式上,对矩阵和向量在原位置上进行处理MatrixAdd 计算两个矩阵的线性组合VectorAdd 计算两个向量的线性组合MatrixExponential 确定一个矩阵 A 的矩阵指数 exp(A)MatrixFunction 确定方阵 A 的函数 F(A)MatrixInverse 计算方阵的逆或矩阵的 Moore-Penrose 伪逆MatrixMatrixMultiply 计算两个矩阵的乘积MatrixVectorMultiply 计算一个矩阵和一个列向量的乘积VectorMatrixMultiply 计算一个行向量和一个矩阵的乘积MatrixPower 矩阵的幂MinimalPolynomial 构造矩阵的最小多项式Minor 计算矩阵的子式Multiply 矩阵相乘Norm 计算矩阵或向量的p-范数MatrixNorm 计算矩阵的p-范数VectorNorm 计算向量的p-范数Normalize 向量正规化NullSpace 计算矩阵的零度零空间OuterProductMatrix 两个向量的外积Permanent 方阵的不变量Pivot 矩阵元素的主元消去法PopovForm Popov 正规型QRDecomposition QR 分解RandomMatrix 构造随机矩阵RandomVector 构造随机向量Rank 计算矩阵的秩Row 返回矩阵的一个行向量序列Column 返回矩阵的一个列向量序列RowOperation 对矩阵作初等行变换ColumnOperation 对矩阵作出等列变换RowSpace 返回矩阵行空间的一组基ColumnSpace 返回矩阵列空间的一组基ScalarMatrix 构造一个单位矩阵的数量倍数ScalarVector 构造一个单位向量的数量倍数ScalarMultiply 矩阵与数的乘积MatrixScalarMultiply 计算矩阵与数的乘积VectorScalarMultiply 计算向量与数的乘积SchurForm 将方阵约化为 Schur 型SingularValues 计算矩阵的奇异值SmithForm 将矩阵约化为Smith 正规型StronglyConnectedBlocks 计算方阵的强连通块SubMatrix 构造矩阵的子矩阵SubVector 构造向量的子向量SylvesterMatrix 构造两个多项式的Sylvester 矩阵ToeplitzMatrix 构造 Toeplitz 矩阵Trace 计算方阵的迹Transpose 转置矩阵HermitianTranspose 共轭转置矩阵TridiagonalForm 将方阵约化为三对角型UnitVector 构造单位向量VandermondeMatrix 构造一个 Vandermonde 矩阵VectorAngle 计算两个向量的夹角ZeroMatrix 构造一个零矩阵ZeroVector 构造一个零向量Zip 将一个具有两个参数的程序作用到一对矩阵或向量上LinearAlgebra[Generic] 子函数包[Generic] 子函数包提供作用在场,欧几里得域,积分域和环上的线性代数算法。
maple教程1 初识计算机代数系统Maple1.1 Maple简说1980年9⽉, 加拿⼤Waterloo⼤学的符号计算机研究⼩组成⽴, 开始了符号计算在计算机上实现的研究项⽬, 数学软件Maple是这个项⽬的产品. ⽬前, 这仍是⼀个正在研究的项⽬.Maple的第⼀个商业版本是1985年出版的. 随后⼏经更新, 到1992年, Windows系统下的Maple 2⾯世后, Maple被⼴泛地使⽤, 得到越来越多的⽤户. 特别是1994年, Maple 3出版后, 兴起了Maple热. 1996年初, Maple 4问世, 1998年初, Maple 5正式发⾏. ⽬前⼴泛流⾏的是Maple 7以及2002年5⽉⾯市的Maple 8.Maple是⼀个具有强⼤符号运算能⼒、数值计算能⼒、图形处理能⼒的交互式计算机代数系统(Computer Algebra System). 它可以借助键盘和显⽰器代替原来的笔和纸进⾏各种科学计算、数学推理、猜想的证明以及智能化⽂字处理.Maple这个超强数学⼯具不仅适合数学家、物理学家、⼯程师, 还适合化学家、⽣物学家和社会学家, 总之, 它适合于所有需要科学计算的⼈.1.2 Maple结构Maple软件主要由三个部分组成: ⽤户界⾯(Iris)、代数运算器(Kernel)、外部函数库(External library). ⽤户界⾯和代数运算器是⽤C语⾔写成的, 只占整个软件的⼀⼩部分, 当系统启动时, 即被装⼊, 主要负责输⼊命令和算式的初步处理、显⽰结果、函数图象的显⽰等. 代数运算器负责输⼊的编译、基本的代数运算(如有理数运算、初等代数运算等)以及内存的管理. Maple的⼤部分数学函数和过程是⽤Maple⾃⾝的语⾔写成的, 存于外部函数库中. 当⼀个函数被调⽤时, 在多数情况下, Maple会⾃动将该函数的过程调⼊内存, ⼀些不常⽤的函数才需要⽤户⾃⼰调⼊, 如线性代数包、统计包等, 这使得Maple在资源的利⽤上具有很⼤的优势, 只有最有⽤的东西才留驻内存, 这保证了Maple可以在较⼩内存的计算机上正常运⾏. ⽤户可以查看Maple的⾮内存函数的源程序, 也可以将⾃⼰编的函数、过程加到Maple的程序库中, 或建⽴⾃⼰的函数库.1.3 Maple输⼊输出⽅式Maple 7有2种输⼊⽅式: Maple语⾔(Maple Notation)和标准数学记法(Standard Math Notation). Maple语⾔是⼀种结构良好、⽅便实⽤的内建⾼级语⾔, 它的语法和Pascal或C有⼀定程度的相似, 但有很⼤差别. 它⽀持多种数据操作命令, 如函数、序列、集合、列表、数组、表, 还包含许多数据操作命令, 如类型检验、选择、组合等. 标准数学记法就是我们常⽤的数学语⾔.启动Maple, 会出现新建⽂档中的“[>”提⽰符, 这是Maple中可执⾏块的标志, 在“>”后即可输⼊命令, 结束⽤“;”(显⽰输出结果)或者“:”(不 显⽰输出结果). 但是, 值得注意的是, 并不是说Maple的每⼀⾏只能执⾏⼀句命令, ⽽是在⼀个完整的可执⾏块中健⼊回车之后, Maple会执⾏当前执⾏块中所有命令(可以是若⼲条命令或者是⼀段程序). 如果要输⼊的命令很长, 不能在⼀⾏输完, 可以换⾏输⼊, 此时换⾏命令⽤“shift+Enter”组合键, ⽽在最后⼀⾏加⼊结束标志“;”或“:”, 也可在⾮末⾏尾加符号“\”完成.Maple 7有4种输出⽅式: Maple语⾔、格式化⽂本(Character Notation)、固定格式记法(Typeset Notation)、标准数学记法(Standard Math Notation). 通常采⽤标准数学记法.Maple会认识⼀些输⼊的变量名称, 如希腊字母等. 为了使⽤⽅便, 现将希腊字母表罗列如下,输⼊时只需录⼊相应的英⽂,要输⼊⼤写希腊字母, 只需把英⽂⾸字母⼤写:alpha beta gamma delta epsilon zeta eta theta iota kappa lambda munu xi omicron pi rho sigma tau upsilon phi chi psi omega有时候为了美观或特殊需要,可以采⽤Maple中的函数或程序设计⽅式控制其输出⽅式,如下例:> for i to 10 doprintf("i=%+2d and i^(1/2)=%+6.3f", i, eval(sqrt(i)));od;i=+1 and i^(1/2)=+1.000i=+2 and i^(1/2)=+1.414i=+3 and i^(1/2)=+1.732i=+4 and i^(1/2)=+2.000i=+5 andi^(1/2)=+2.236i=+6 and i^(1/2)=+2.449i=+7 and i^(1/2)=+2.646i=+8 and i^(1/2)=+2.828i=+9 and i^(1/2)=+3.000i=+10 and i^(1/2)=+3.162+2d的含义是带符号的⼗进位整数,域宽为2. 显然,这种输出⽅式不是我们想要的,为了得到更美观的输出效果,在语句中加⼊换⾏控制符“\n”即可:> for i to 10 doprintf("i=%+2d and i^(1/2)=%+6.3f\n", i, eval(sqrt(i)));od;i=+1 and i^(1/2)=+1.000i=+2 and i^(1/2)=+1.414i=+3 and i^(1/2)=+1.732i=+4 and i^(1/2)=+2.000i=+5 and i^(1/2)=+2.236i=+6 and i^(1/2)=+2.449i=+7 and i^(1/2)=+2.646i=+8 and i^(1/2)=+2.828i=+9 and i^(1/2)=+3.000i=+10 and i^(1/2)=+3.162再看下例:将输⼊的两个数字⽤特殊形式打印:> niceP:=proc(x,y)printf("value of x=%6.4f, value of y=%6.4f",x,y);end proc;> niceP(2.4,2002.204);value of x=2.4000, value of y=2002.20401.4 Maple联机帮助学会寻求联机帮助是掌握⼀个软件的钥匙. Maple有⼀个⾮常好的联机帮助系统, 它包含了90%以上命令的使⽤说明. 要了解Maple的功能可就会出现(也可以⽤Tab键和up, down选定). 可以从底栏中看到函数命令全称, 例如, 我们选graphics…, 出现该条的⼦⽬录, 从中选2D…, 再选plot就可得到作函数图象的命令plot的完整帮助信息. ⼀般帮助信息都有实例, 我们可以将实例中的命令部分拷贝到作业⾯进⾏计算、演⽰,由此可了解该命令的作⽤.在使⽤过程中, 如果对⼀个命令把握不准, 可⽤键盘命令对某个命令进⾏查询. 例如, 在命令区输⼊命令“?plot”(或help(plot);), 然后回车将2 Maple的基本运算2.1 数值计算问题算术是数学中最古⽼、最基础和最初等的⼀个分⽀, 它研究数的性质及其运算, 主要包括⾃然数、分数、⼩数的性质以及他们的加、减、乘、除四则运算. 在应⽤Maple做算术运算时, 只需将Maple当作⼀个“计算器”使⽤, 所不同的是命令结束时需加“;”或“:”.在Maple中, 主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘⽅或幂,或记为**), 算术运算符与数字或字母⼀起组成任意表达式, 但其中“+”、“*”是最基本的运算, 其余运算均可归诸于求和或乘积形式. 算述表达式运算的次序为: 从左到右, 圆括号最先, 幂运算优先, 其次是乘除,最后是加减. 值得注意的是, “^”的表达式只能有两个操作数, 换⾔之, 是错误的, ⽽“+”或“*”的任意表达式可以有两个或者两个以上的操作数.Maple有能⼒精确计算任意位的整数、有理数或者实数、复数的四则运算, 以及模算术、硬件浮点数和任意精度的浮点数甚⾄于矩阵的计算等等. 总之, Maple可以进⾏任意数值计算.但是, 任何软件或程序毕竟只是⼈们进⾏科学研究的⼀种必要的辅助, 即便它有很多优点, 但也有它的局限性, 为了客观地认识数学软件、认识Maple, 下⾯通过两个简单例⼦予以说明.第⼀个简单的数值计算实例想说明Maple数值计算的答案的正确性:> 3!!!;上述运算结果在IBM PC机(1G, 128M)上计算只需要0.01秒, 得到如此复杂的结果(1747位), ⼀个⾃然的问题是: 答案正确吗?为了回答这个问题, 我们借助于数值分析⽅法, 由Stiring公式可得: , 前三位数字与Maple输出结果相同, 且两者结果均为1747位. 另外, 在720!的计算中, 5的因⼦的个数为:这些5与⾜够多的2相乘将得到178个0, ⽽Maple的输出结果中最后178位数为零. 由此, 可以相信Maple结果的正确性.另⼀个例⼦则想说明Maple计算的局限性:Maple在处理问题时, 为了避免失根, 从不求算术式的近似值, 分数则化简为既约分数. 因此, 在Maple中很容易得到:显然这是错误的. 这⼀点可以从代数的⾓度予以分析.不妨设, 则, 即, 显然有3个结果, -2是其实数结果.另⼀⽅⾯, 设, 则, 即:显然有6个结果, -2、2是其实数结果.这个简单的例⼦说明了Maple在数值计算⽅⾯绝对不是万能的, 其计算结果也不是完全正确的, 但是, 通过更多的实验可以发现: Maple只可能丢失部分结果, ⽽不会增加或很少给出完全错误的结果(如上例中Maple的浮点数结果皆为). 这⼀点提醒我们, 在利⽤Maple或其他任何数学软件或应⽤程序进⾏科学计算时, 必须运⽤相关数学基础知识校验结果的正确性.尽管Maple存在缺陷(实际上, 任何⼀个数学软件或程序都存在缺陷), 但⽆数的事实说明Maple仍然不失为⼀个具有强⼤科学计算功能的计算机代数系统. 事实上, Maple同其他数学软件或程序⼀样只是科学计算的⼀个辅助⼯具, 数学基础才是数学科学中最重要的.2.1.1 有理数运算作为⼀个符号代数系统, Maple可以绝对避免算术运算的舍⼊误差. 与计算器不同, Maple从来不⾃作主张把算术式近似成浮点数, ⽽只是把两个有公因数的整数的商作化简处理. 如果要求出两个整数运算的近似值时, 只需在任意⼀个整数后加“.”(或“.0”), 或者利⽤“evalf”命令把表达式转换成浮点形式, 默认浮点数位是10 (即: Digits:=10, 据此可任意改变浮点数位, 如Digits:=20).> 12!+(7*8^2)-12345/125;> 123456789/987654321;> evalf(%);> 10!; 100*100+1000+10+1; (100+100)*100-9;> big_number:=3^(3^3);> length(%);上述实验中使⽤了⼀个变量“big_number”并⽤“:=”对其赋值, 与Pascal语⾔⼀样为⼀个变量赋值⽤的是“:=”. ⽽另⼀个函数“length”作⽤在整数上时是整数的⼗进制位数即数字的长度. “%”是⼀个⾮常有⽤的简写形式, 表⽰最后⼀次执⾏结果, 在本例中是上⼀⾏输出结果. 再看下⾯数值计算例⼦:1)整数的余(irem)/商(iquo)命令格式:irem(m,n); #求m除以n的余数irem(m,n,'q'); #求m除以n的余数, 并将商赋给qiquo(m,n); #求m除以n的商数iquo(m,n,'r'); #求m除以n的商数, 并将余数赋给r其中, m, n是整数或整数函数, 也可以是代数值, 此时, irem保留为未求值.> irem(2002,101,'q'); # 求2002除以101的余数, 将商赋给q> q; #显⽰q> iquo(2002,101,'r'); # 求2002除以101的商, 将余数赋给r> r; #显⽰r> irem(x,3);2)素数判别(isprime)素数判别⼀直是初等数论的⼀个难点, 也是整数分解问题的基础. Maple提供的isprime命令可以判定⼀个整数n是否为素数. 命令格式: isprime(n);如果判定n可分解, 则返回false, 如果返回true, 则n“很可能”是素数.> isprime(2^(2^4)+1);> isprime(2^(2^5)+1);上述两个例⼦是⼀个有趣的数论难题。