利用Maple推导向量方程的微分公式
在某些几何软件的开发中,会要求写出一个向量方程的微分公式。对我而言,手工推导繁琐、易出错、且需要反复校验。
早就听说Mathematica, Maple这样的软件可以自动进行符号公式的推导,一直没有时间研究。最近终于应用了一把,发现还是挺简单的。现以求一个“点到直线距离”的方程微分为例,展示一下怎么样用Maple推导向量方程的微分。
首先看一下我们的问题:求一个“点到直线距离”方程关于点的x坐标的微分。
空间一直线由一点S和一个单位向量V表示,空间一点由P表示。所以点到直线的距离可用如下图中的向量方程表示。
我们要推导的是d关于P的x坐标变量的微分,即
下面看看在Maple里面怎么进行推导。
首先在Maple主窗口里敲入with(VectorCalculus):,载入向量微分的库函数。
然后运行BasisFormat(false):,使向量以列向量的方式显示。
然后分别定义P,S,Q,V。例如 P:=<Px,Py,Pz>
再键入距离d的方程,用命令Del(d,[Px])就可以求出d关于Px的微分了:
至此,我们已经利用Maple推导出了想要的微分公式。
美中不足的是,这个公式是完全的展开形式,非常复杂。我们需要手工的运行如下命令,用计算的中间结果对结果表达式进行化简。
把这个公式用Word的公式编辑器写出来,就是:
其中
后记:我在Maple中进行结果表达式化简时,必须额外引入一些变量如F和DotPV,而不能使用原来的d和DotProduct(P,V)。这是我觉得不爽的地方。希望Maple高手能够留言指教。
利用Maple推导向量方程的微分公式的更多相关文章
- 利用JavaScript计算引擎进行字符串公式运算
1.通过js计算引擎计算(java自带) 2.计算公式除了支持基本的方法之外还支持简单js脚本分支计算 3.通过设定map传入参数 4.默认返回最后一个计算结果,如果需返回特定值,将变量补写在公式最后 ...
- maple推导剑桥模型塑性势函数
with(DEtools); Parameter(M); de := diff(q(p), p)+(M^*p^-q(p)^)/(*p*q(p)) = ; dsolve({de, q(px) = }, ...
- 自适应滤波:维纳滤波器——FIR及IIR设计
作者:桂. 时间:2017-03-23 06:28:45 链接:http://www.cnblogs.com/xingshansi/p/6603263.html [读书笔记02] 前言 仍然是西蒙. ...
- 利用MathType为公式编号并引用
序言 在理工科的论文撰写过程中, 公式编辑.编号以及引用非常普遍, 但是笔者没有发现word本身对公式编号和引用有比较好的支持, 所以只好求助于第三方插件. MathType在公式编辑方面表现比较出色 ...
- 【主成份分析】PCA推导
### 主成份分析(Pricipal components analysis PCA) 假设空间$R^{n}$中有m个点{$x^{1},......,x^{n}$},希望压缩,对每个$x^{i}$都有 ...
- Maple拥有优秀的符号计算和数值计算能力
https://www.maplesoft.com/products/maple/ Maple高级应用和经典实例: https://wenku.baidu.com/view/f246962107221 ...
- BP神经网络模型及算法推导
一,什么是BP "BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最 ...
- 误差逆传播(error BackPropagation, BP)算法推导及向量化表示
1.前言 看完讲卷积神经网络基础讲得非常好的cs231后总感觉不过瘾,主要原因在于虽然知道了卷积神经网络的计算过程和基本结构,但还是无法透彻理解卷积神经网络的学习过程.于是找来了进阶的教材Notes ...
- maple 教程
1 初识计算机代数系统Maple 1.1 Maple简说 1980年9月, 加拿大Waterloo大学的符号计算机研究小组成立, 開始了符号计算在计算机上实现的研究项目, 数学软件Maple是这个项目 ...
随机推荐
- 在requirejs中使用qunit
requirejs(['QUnit'], function(qunit) { qunit.test('test name', function(assert) { // 一些测试, assert }) ...
- 18.虚拟机linux上网问题
1.1.VMware中虚拟机网络的三种设置第一种:桥接(bridged)第二种:NAT第三种:Host only .该模式下仅主机可以上网,虚拟机不能上网. 1.2.虚拟机上网方式1:NAT方式设置步 ...
- 41个Web开发者JavaScript实用小技巧
1. 将彻底屏蔽鼠标右键 oncontextmenu="window.event.returnValue=false" < table border oncontextmen ...
- 使用mysql管理meta
第一部分 安装mysql 第二部分 使用mysql管理meta 安装mysql 安装 yum -y install mysql mysql-server yum方法安装需要使用网络:可以自动续传:对于 ...
- <a>标签中的href="javascript:;"是什么意思?
例子:<a href="javascript:;">我的大学</a> javascript: 是一个伪协议 javascript:是表示在触发<a&g ...
- nginx 自动忽略request中header name包含下划线参数的解决方法
使用nginx过程中遇到了个问题,就是request中的header name中如果包含下划线会自动忽略掉,导致服务器接收不到该字段的内容,以下为解决方法: nginx默认request的header ...
- php 文件锁
当写为LOCK_EX锁 且 读为LOCK_SH锁时最为妥当,经测试,这时情况如下: 1, 先运行w.php,马上支行r.php 后 程序会先等写入后再读取 2, 先运行r.php,再马上支行w.php ...
- Android客户端稳定性测试——Monkey
修改时间 修改内容 修改人 2016.6.20 创建 刘永志 2016.6.29 完成 刘永志 Monkey简介: Android SDK自带的命令行测试工具,向设备发送伪随机事件流,对应用程序进行进 ...
- Maven项目导入后打红色X
在所有的配置都正确的情况,程序能正常运行跑起来,看一下problem下的红色错误 如果这两个错误不影响你的程序,或者已经配置或处理,直接右击删除这两个错就行了. 删除之后,就没有了吧,OK搞定
- Java画图程序设计
本文讲述一个画图板应用程序的设计,屏幕抓图如下: 『IShape』 这是所有图形类(此后称作模型类)都应该实现接口,外部的控制类,比如画图板类就通过这个接口跟模型类“交流”.名字开头的I表示它是一个接 ...