Maple公式推导教程

引言

记得在做本科毕设时,需要推导一个振动系统的运动方程,于是自己就在纸上推导,推着推着,发现了前面一个小错误,然后刚才推导的就全作废了。这时我不禁自问:现在技术这么发达,难道就没有一个软件代替手工推导吗?

于是,自己便开始找相关软件。首先找到了Matlab,为此特意去学习了Matlab的符号推导,但是发现:Matlab的公式推导时,公式的显示形式与平常手写的不一样,比如a的平方显示a^2;Matlab强于数值计算,它的公式推导实际上是调用Maple的内核进行计算的。所以,我便转向了Maple的学习,接触Maple之后,有点相见恨晚的感觉。

经由研究生期间的两个项目的实际使用,自己对Maple公式推导的掌握已经有了实质性的提高,并发现使用Maple推导公式有如下好处:
① 公式显示形式能够实现与纸面书写完全一致;
② 不怕推导过程中出现的错误,因为只需重新计算一遍即可;
③ 推导出来的成果,易于课题组传承;
④ 推导结果能够自动转成Matlab代码,用于编程计算,Maple+Matlab实为绝配;

为了让更多的人学习使用Maple,故在此将自己的使用心得分享出来。本文不讲述Maple的基础使用内容,诸如如何赋值、插入文本块等,重点讲述公式推导中经常用到的操作和函数。

1. Maple的数学知识
公式推导中难免会遇到求导、积分、解方程等,求导函数diff,积分函数int,解方程用solve具体使用可以查看帮助文档。

另外,由于经常要涉及多自由系统,所以线性代数相关的知识要掌握。比如:
① 行向量、列向量、矩阵的创建;
② 矩阵元素、行、列的索引;
③ 向量和矩阵的运算,如矩阵的乘、逆、转置等;

上述操作(当然还有其他的,不一一列出了)是经常会遇到的,必须掌握在Maple中如何实现。另外,需注意:使用Maple中线性代数相关的函数需要加载LinearAlgebra函数包。

2. Maple的表达式化简

(1)表达式序列

表达式化简的操作对象是表达式,所以首先要明白Maple中表达式的结构(这个很多出版教程不会提)。一个表达式,Maple将其视为一个表达式序列,比如
在这里插入图片描述
上式就含有四个子表达式:
在这里插入图片描述
(2)化简步骤

表达式化简实际就是对整个或部分表达式进行化简操作,主要涉及以下方面的内容:

① 了解该表达式的信息
要对一个长的表达式进行化简,首先需要了解该表达式由哪些量组成,哪些是变量,哪些是常量,常量或变量的最高次是多少。对于一些很长的表达式,肯定不能用眼睛去看,需要借助Maple的自带函数。

② 确定对该表达式的全部还是部分进行化简
若式子短,那就整个化简;若是对部分化简,就需要取出表达式中的一些项,或者取出分子,又或者取出方程的右边,这时就会涉及取项函数;

③对取出表达式执行化简操作
化简操作主要有展开和替换,需要明白的是,展开能化简表达式是因为它能合并同类项和约分,比如展开之后出现3a-5a,软件肯定自己计算为-2a。

替换能化简,是因为我们使用短的表达式去替换长的表达式。替换是表达式化简中最常用的操作,使用过程相当灵活,这里不多说,可以在QQ上交流。

④ 美化表达式
最是表达式化简的收尾工作,美化表达式是为了跟平常手推公式保持一致,也可以缩短其长度,比如xy+2xz,可以将其写成x*(y+2z),又比如2x+2y,可以将其写成2(x+y)等。

总而言之,化简表达式的基本原则就是,自己要能控制每一步操作,软件只是工具而已。

3 结语
内容就写这么多,如果有需要了解或讨论的地方,欢迎留言。另外,针对文中的第1、2部分,本人研究生期间分别整理了两个Maple计算文件,有需要的同志可以联系我。有了这两个Maple学习文件,应付常用的公式推导应该绰绰有余。本人联系方式如下:
Q Q:2481720766
邮箱:[email protected]

发布了2 篇原创文章 · 获赞 2 · 访问量 121

猜你喜欢

转载自blog.csdn.net/qq_45330313/article/details/104511285
今日推荐