Maple公式推导教程

引言

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

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

本人自从接触Maple之后,便爱不释手。用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)等。当然,推导过程中有时也会涉及表达式的美化,目的是为了能清楚了解表达式的组成信息。

总而言之,化简表达式的基本原则就是,人要完全控制软件的每一步操作,并能够大致预测软件的计算结果,因为Maple只是工具,是我们的“笔和纸”而已。

(3)例子
下面展示个例子吧,该实例是我第一次使用Maple时推导的公式,算是有点纪念意义。如下图所示,是振动中常见的动力吸振器模型,现需要求解m1、m2的振幅X1、X2。
在这里插入图片描述
在这里插入图片描述
Maple推导的具体步骤如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我的另一篇博客展示了一个使用Maple软件推导直升机旋翼气动力和力矩的例子,感兴趣的同志可以浏览一下。

3 结语

既然Maple这类数学软件功能如此强大、完美,我们为什么不将它们作为自己学习、工作的工具,用它们推导那些计算繁琐、长而复杂的公式,彻底赶走自己对公式的畏惧,大幅提高自己学习的深度、效率和兴趣。

本次的分享暂时到这里,如果有需要了解或讨论的地方,欢迎加Q。最后,需要说明的是,Maple的使用绝不限于文中描述的内容,它更多的功能需要个人的实际使用和需求去解锁、挖掘。另外,针对文中的第1、2部分,本人研究生期间分别整理了几个详细的Maple计算文件及相关的推导实例,有需要的同志可以联系我。有了这几个Maple学习文件,应付常用的公式推导应该绰绰有余。本人联系方式如下:
Q Q:2481720766
邮箱:2481720766@qq.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28873.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推导Beta分布公式

Beta分布可以用于拟合各种不同的分布,网上各种资料对于Beta分布的原理着墨较多,却少有推导Beta分布公式的,所以,推导Beta分布公式如下: 设一组随机变量 ,将这n个随机变量排序后得到顺序统计量 &#xff0c…

用Matlab推导公式

用到的函数: 1、函数表达式已知 例: y x 2 yx^2 yx2 x t 2 xt^2 xt2 求 y y y关于 t t t的导数,代码如下所示: syms x tx t^2; y x^2; df diff(y,t) latex(df)运行结果: >> untitleddf 4*t^3ans 4\,t…

xgboost公式推导

基本构成 boosted tree作为有监督学习算法有几个重要部分:模型、参数、目标函数、优化算法 模型 模型指给定输入x如何去预测输出y 参数 参数指我们需要学习的东西,在线性模型中,参数指我们的线性系数w 目标函数 目标函数:损…

详解GCN原理-公式推导

GNN survey convolution 如何graph domain 上做convolution 是最近最热门的研究方向。 总的来说有两种卷积的方法: Spectral and non-spectral (spatial) spectral Network 通过对图的拉普拉斯矩阵做特征分解,将它定义在 傅里叶 domain上。 在深入…

WorkPlus Knowledge:基于ChatGPT创建专属你的智能化知识库

ChatGPT 到底是个啥东西?其实它就是一个高级点的聊天app,唯一不同的是,它具备了聊天机器人加搜索工具加文本创造工具的能力。举个例子,你跟某爱同学说,哎呀,我不会写作业,好难过。某爱同学会告诉…

OpenAI - tiktoken ⏳ | fast BPE tokeniser

文章目录 关于 ⏳ tiktoken性能表现安装tiktoken 如何计算 tokenEncodingsTokenizer libraries 对不同编程语言的支持How strings are typically tokenized 使用编解码比较 encodings计算chat API调用的tokens拓展 tiktoken 关于 ⏳ tiktoken tiktoken is a fast BPE tokenise…

NLP(五十五)tiktoken的使用

tiktoken是OpenAI于近期开源的Python第三方模块,该模块主要实现了tokenizer的BPE(Byte pair encoding)算法,并对运行性能做了极大的优化。本文将介绍tiktoken模块的使用。 tiktoken简介 BPE(Byte pair encoding)算法是NLP中常见的…

基于GPT3.5实现本地知识库解决方案-利用向量数据库和GPT向量接口-实现智能回复并限制ChatGPT回答的范围

原文:基于GPT3.5实现本地知识库解决方案-利用向量数据库和GPT向量接口-实现智能回复并限制ChatGPT回答的范围 - 腾讯云开发者社区-腾讯云 标题有点长,但是基本也说明出了这篇文章的主旨,那就是利用GPT AI智能回答自己设置好的问题 既能实现…

【关于ChatGPT的30个问题】18、ChatGPT对于用户隐私的保护措施如何?/ By 禅与计算机程序设计艺术

18、ChatGPT对于用户隐私的保护措施如何? 目录 18、ChatGPT对于用户隐私的保护措施如何?

c++ 旅行商问题(动态规划)

目录 一、旅行商问题简介旅行商问题问题概述问题由来 二、基本思路三、实现1、状态压缩2、状态转移 四、代码五、复杂度分析 一、旅行商问题简介 旅行商问题 TSP,即旅行商问题,又称TSP问题(Traveling Salesman Problem)&#xff…

ChatGPT 最佳实践指南之:系统地测试变化

Test changes systematically 系统地测试变化 Improving performance is easier if you can measure it. In some cases a modification to a prompt will achieve better performance on a few isolated examples but lead to worse overall performance on a more representa…

医疗健康大数据:应用实例与系统分析

来源:网络大数据 1 、概述 随着信息技术和物联网技术的发展、个人电脑和智能手机的普及以及社交网络的兴起,人类活动产生的数据正以惊人的速度增长。根据国际数据公司(International DataCorporation,IDC)的报告,仅2011年&#xf…

夏季达沃斯论坛《2023年十大新兴技术报告》正式公布

来源:悦智网 该报告概述了未来3-5年内有望对社会产生积极影响的技术。该报告的范围不仅仅描述了技术及其相关的风险和机遇,还包括了对每项技术如何对人类、地球、繁荣、产业和公平产生影响的定性评估。 在夏季达沃斯论坛(世界经济论坛第十四届…

音视频技术开发周刊 | 292

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 谷歌将 AI 芯片团队并入云计算部门 追赶微软和亚马逊 OpenAI推出的ChatGPT获得一定成功,微软是OpenAI的重要投资者,它将ChatGPT植入必应搜索&#…

CollovGPT——人工智能工具颠覆传统室内设计行业

作为线上室内设计领先的平台,Collov一直致力于使用先进的技术重新定义「室内设计」:让室内设计不再是一种奢侈品,而是每一个人都可以享受的生活体验。 经过两年的迭代和开发,我们现在正式上线CollovGPT — 一款基于Stable Diffusi…

扩散模型和Transformer梦幻联动!一举拿下新SOTA

作者丨羿阁 萧箫 来源丨量子位 导读 “U-Net已死,Transformer成为扩散模型新SOTA了!” 就在ChatGPT占尽AI圈风头时,纽约大学谢赛宁的图像生成模型新论文横空出世,收获一众同行惊讶的声音。 MILA在读ML博士生Ethan Caballero 论文…

92K Star !AI 都完全不需要咱们人类了?

Auto-GPT 究竟是一个开创性的项目,还是一个被过度炒作的 AI 实验?本文为我们揭开了喧嚣背后的真相,并揭示了 Auto-GPT 不适合实际应用的生产局限性。 作者:Jina AI 创始人兼 CEO 肖涵博士 译者: 新智元编辑部 原文链接…

揭秘 Auto-GPT 喧嚣背后的残酷真相!

Auto-GPT 究竟是一个开创性的项目,还是一个被过度炒作的 AI 实验?本文为我们揭开了喧嚣背后的真相,并揭示了 Auto-GPT 不适合实际应用的生产局限性。 本文来自 Jina 官方投稿,作者为 Jina AI 创始人兼 CEO 肖涵博士,如…

通过ChatGPT使用Mermaid.js生成时间序列图、组织结构图等

1、用mermaid.js 生成京东网站改版时间序列图 以下是使用Mermaid.js生成的京东网站改版时间序列图: gantttitle 京东网站改版时间序列图dateFormat YYYY-MM-DDsection 基础功能改版登录注册界面 :done, 2018-01-15, 10d购物车页面优化 :done, 2018-02-10, 10d商…

淘汰ChatGPT的Auto-GPT是炒作?自己跑代码,不需要人类,GitHub已破5万星

视学算法报道 编辑:编辑部 【导读】Auto-GPT究竟是一个开创性的项目,还是一个被过度炒作的AI实验?这篇文章为我们揭开了喧嚣背后的真相,并揭示了Auto-GPT不适合实际应用的局限性。 这两天,Auto-GPT——一款让最强语言…