在某些几何软件的开发中,会要求写出一个向量方程的微分公式。对我而言,手工推导繁琐、易出错、且需要反复校验。

早就听说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推导向量方程的微分公式的更多相关文章

  1. 利用JavaScript计算引擎进行字符串公式运算

    1.通过js计算引擎计算(java自带) 2.计算公式除了支持基本的方法之外还支持简单js脚本分支计算 3.通过设定map传入参数 4.默认返回最后一个计算结果,如果需返回特定值,将变量补写在公式最后 ...

  2. maple推导剑桥模型塑性势函数

    with(DEtools); Parameter(M); de := diff(q(p), p)+(M^*p^-q(p)^)/(*p*q(p)) = ; dsolve({de, q(px) = }, ...

  3. 自适应滤波:维纳滤波器——FIR及IIR设计

    作者:桂. 时间:2017-03-23  06:28:45 链接:http://www.cnblogs.com/xingshansi/p/6603263.html [读书笔记02] 前言 仍然是西蒙. ...

  4. 利用MathType为公式编号并引用

    序言 在理工科的论文撰写过程中, 公式编辑.编号以及引用非常普遍, 但是笔者没有发现word本身对公式编号和引用有比较好的支持, 所以只好求助于第三方插件. MathType在公式编辑方面表现比较出色 ...

  5. 【主成份分析】PCA推导

    ### 主成份分析(Pricipal components analysis PCA) 假设空间$R^{n}$中有m个点{$x^{1},......,x^{n}$},希望压缩,对每个$x^{i}$都有 ...

  6. Maple拥有优秀的符号计算和数值计算能力

    https://www.maplesoft.com/products/maple/ Maple高级应用和经典实例: https://wenku.baidu.com/view/f246962107221 ...

  7. BP神经网络模型及算法推导

    一,什么是BP "BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最 ...

  8. 误差逆传播(error BackPropagation, BP)算法推导及向量化表示

    1.前言 看完讲卷积神经网络基础讲得非常好的cs231后总感觉不过瘾,主要原因在于虽然知道了卷积神经网络的计算过程和基本结构,但还是无法透彻理解卷积神经网络的学习过程.于是找来了进阶的教材Notes ...

  9. maple 教程

    1 初识计算机代数系统Maple 1.1 Maple简说 1980年9月, 加拿大Waterloo大学的符号计算机研究小组成立, 開始了符号计算在计算机上实现的研究项目, 数学软件Maple是这个项目 ...

随机推荐

  1. mysql中修改view的definer

    我常用的工具是navicat,但是修改definer不能用工具,只能用命令行: 数据库迁移到其他服务器上,会报definer错误,修改view的definer方法如下(比如把definer改为本地的, ...

  2. Jquery day02

    jquery day01回顾 语法: $("选择器")        , $(dom对象) , $("<div>") 选择器: 基本:#id.ele ...

  3. WLAN频段的选择

    WLAN(无线局域网)通过射频技术,将设备之间互联.当前应用于WLAN组网的有WIFI,蓝牙等.蓝牙工作在2.4GHZ的ISM(工业.科研.医疗)频段,功率等级分为0dBm,10dBm,20dBm:发 ...

  4. Quartz.NET作业调度框架详解(转)

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...

  5. 高可用Hadoop平台-Flume NG实战图解篇

    1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...

  6. 《CoffeeScript应用开发》学习:第三章-构建简单的应用程序

    字符串插值 CoffeeScript提供了一种更好的构建字符串的解决方案.在双引号字符串(单引号无效)中使用#{}包含一个动态的值. str = 'Hello, CoffeeScript.' cons ...

  7. HTTP权威协议笔记-3.Http报文

    3.1 报文流 http使用流入和流出来描述事物处理方向,报文包含:起始行.首部和主体. 3.2 起始行 起始行包含:请求行和回应行. 3.2.1请求行 请求行包含:方法.请求URL(描述了对哪个资源 ...

  8. 操作系统 页面置换算法LRU和FIFO

    LRU(Least Recently Used)最少使用页面置换算法,顾名思义,就是替换掉最少使用的页面. FIFO(first in first out,先进先出)页面置换算法,这是的最早出现的置换 ...

  9. react使用过程记录

    1, webpack使用,如果发现浏览器打不开,检查是不是 端口冲突 2, webpack报错,如下,加粗是不是 lodash加载的问题 >> A special character wa ...

  10. 最简单的JS图片轮播

    var arr=new Array(); arr[1]="";//放图片地址 arr[2]=""; arr[3]=""; var no=0; ...