6.7 利用MAPLE的深层符号计算资源
6.7.2 MAPLE库函数在线帮助的检索树
(1)翻阅Maple在线帮助的索引类目的指令
mhelp index
mhelp index % 查看 Maple 在线帮助的索引类目
Index of help descriptions
Calling Sequence:
?index or help(index, category);
Description:
- The following categories of topics are available in the help subsystem:
index##expression operators for forming expressions
index##function list of Maple functions
index##misc miscellaneous facilities
index##packages descriptions of library packages
index##procedure topics related to procedures and programming
index##statement list of Maple statements
To access these help pages, you must prefix the category with index, thus ?
index.
(2) 深入Maple的具体分类目录的指令格式是mhelp index
mhelp index
Index of descriptions for standard library functions
Description:
- The following are the names of Maple's standard library functions. For more information, see ?f where f is any of
these functions.
AFactor##AFactor AFactors##Afactors
AiryZeros##AiriAiZeros AiryZeros##AiriBiYZeros
Airy##AiryAi Airy##AiryBi
AngerJ##AngerJ Berlekamp##Berlekamp
Bessel##BesselI Bessel##BesselJ
...... ......
...... ......
hattype##whattype with##with
worksheet##worksheet writebytes##writebytes
writedata##writedata writeline##writeline
writestat##writestat writeto##writeto
zip##zip ztrans##ztrans
See Also:
readlib##readlib, libname##libname, index##index
(3)获取具体函数使用方法说明的指令格式是mhelp fun_name
6.7.3 发挥MAPLE的计算潜力
6.7.3.1 调用MAPLE函数
【 * 例 6.7.3 .1-1 】求递推方程
的通解。
(1)调用格式一
gs1=maple('rsolve(f(n)=-3*f(n-1)-2*f(n-2),f(k));')
gs1 =
(2*f(0)+f(1))*(-1)^k+(-f(0)-f(1))*(-2)^k
(2)调用格式二
gs2=maple('rsolve','f(n)=-3*f(n-1)-2*f(n-2)','f(k)')
gs2 =
(2*f(0)+f(1))*(-1)^k+(-f(0)-f(1))*(-2)^k
【 * 例 6.7.3 .1-2 】求
的 Hessian 矩阵。
(1)调用格式一
FH1=maple('hessian(x*y*z,[x,y,z]);')
FH1 =
matrix([[0, z, y], [z, 0, x], [y, x, 0]])
(2)调用格式二
FH2=maple('hessian','x*y*z','[x,y,z]')
FH2 =
matrix([[0, z, y], [z, 0, x], [y, x, 0]])
(3)把以上输出变成“符号”类
FH=sym(FH2)
FH =
[ 0, z, y]
[ z, 0, x]
[ y, x, 0]
【 * 例 6.7.3 .1-3 】求
在
处展开的截断 8 阶小量的台劳近似式。
(1)直接运行 mtaylor , 展开失败。
TL1=maple('mtaylor(sin(x^2+y^2),[x=0,y=0],8)')
TL1 =
mtaylor(sin(x^2+y^2),[x = 0, y = 0],8)
(2)必须先“读库”,才能得到正确展开结果。
maple('readlib(mtaylor);');
TL2=maple('mtaylor(sin(x^2+y^2),[x=0,y=0],8)');
pretty(sym(TL2))
2 2 6 2 4 4 2 6
x~ + y - 1/6 x~ - 1/2 y x~ - 1/2 y x~ - 1/6 y
6.7.3.2 运行MAPLE程序
【 * 例 6.7.3 .2-1 】目标:设计求取一般隐函数
的导数
解析解的程序,并要求:该程序能象 MAPLE 原有函数一样可被永久调用。
(1)编写求一般隐函数导数的文件 DYDZZY.src ,把它存放在 MATLAB 的搜索路径上。
[DYDZZY.src]
DYDZZY:=proc(f)
# DYDZZY(f) is used to get the derivate of
# an implicit function
local Eq,deq,imderiv;
Eq:='Eq';
Eq:=f;
deq:=diff(Eq,x);
readlib(isolate);
imderiv:=isolate(deq,diff(y(x),x));
end;
(2)运行以下指令把 DYDZZY.src 安装进 MAPLE 工作空间
procread('DYDZZY.src') % 转换 SRC 文件为内码,并送入 MAPLE 空间
ans =
DYDZZY := proc (f) local Eq, deq, imderiv; Eq := 'Eq'; Eq := f; deq := diff(Eq,x); readlib(isolate); imderiv := isolate(deq,diff(y(x),x)) end
(3)按 maple 指令调用该新建 MAPLE 函数去计算 3 个隐函数的导函数
s1=maple('DYDZZY(x=log(x+y(x)));')
s2=maple('DYDZZY(x^2*y(x)-exp(2*x)=sin(y(x)))')
s3=maple('DYDZZY','cos(x+sin(y(x)))=sin(y(x))')
s1 =
diff(y(x),x)=x+y(x)-1
s2 =
diff(y(x),x)=(-2*x*y(x)+2*exp(2*x))/(x^2-cos(y(x)))
s3 =
diff(y(x),x)=sin(x+sin(y(x)))/(-sin(x+sin(y(x)))*cos(y(x))-cos(y(x)))
(4)把 DYDZZY.src 进行预编辑,使之成为 MAPLE 内码文件登录在 bin 目录上。
clear maplemex
procread('DYDZZY.src');
maple('save(`DYDZZY.m`)');
(5)调用自建的 MAPLE 内码文件 DYDZZY.m
maple('read','`DYDZZY.m`'); % 把内码文件送入 MAPLE 空间
ss2=maple('DYDZZY(x^2*y(x)-exp(2*x)=sin(y(x)))')
ss2 =
diff(y(x),x) = (-2*x*y(x)+2*exp(2*x))/(x^2-cos(y(x)))

[摘要]针对级进模排样的特点以及人...

您知道全球最小的机器人到底有多小呢。这么小的机器人到底有什么样的法宝呢。中国台湾...

前言 线切割加工通过电极丝与导电工件之间放电腐蚀成型来完成工件加工,由于是非接触加...

方亨志:迦南科技集团有限公司董事长、政协第八届永嘉县委员会委员、浙江省机械工业协...

浙江德喜阀门有限公司——董事长 浙江德喜农业综合开发有限公司——董事长 永嘉人民政...