作者:桂。

时间:2018-06-27  21:53:34

链接:https://www.cnblogs.com/xingshansi/p/9236502.html


前言

打算系统学习一些数学知识,容易碰到一些复杂数学的求导、积分,Mathmatica在这方面有优势,简单了解一下,打算后续运算主要借助它来完成。

软件来自北邮人论坛。   学习资料——主要参考:Mathmatica权威指南.pdf

一、Mathmatica简介

  Mathmatica更侧重数学运算,主要功能有:

1)符号运算【仅这一点就能省去多少草稿纸?】

  • 初等数学
  • 微积分
  • 线性代数
  • 解方程组
  • ....

2)数值计算

  • 求极值
  • 插值与拟合
  • 数值积分
  • 线性代数
  • 线性规划
  • 概率统计
  • ....

3)数据可视化

主要是数据的展示,初步来看,Mathmatica个人觉得比MATLAB优秀。

基本界面:

二、Mathmatica常用操作

以后需要经常使用该软件,先熟悉常用快捷键:

遇到一个新工具,自然会问到3个问题:

1)如何查找帮助文档?了解该点就学会了解决问题的方法。

2)常用快捷键? 该点提高操作效率。

3)是否支持模块化? 该点对于复杂模型尤其重要。

  A-查找帮助文档

参考网页:http://www.wolfram.com/mathematica/new-in-10/symbolic-geometry/integrate-over-regions.html

输入指令,右键:帮助。

或选中指令,F1.

帮助里可以查找所选函数,例如高数::

选择高等数学计算:

依次查找,该操作可作为学习手册使用,系统了解常用函数。

  B-常用快捷键

  • shift enter:运行
  • Crtl + N:新建笔记本
  • Crtl + home/end:跳转
  • Crtl + K,类似TAB,完整指令名
  • Crtl + O:打开文件
  • Crtl +shift + B: 检查括号平衡
  • 停止:crtl + break
  • 继续:F5 步进F10 步入F11 步出SHIFT+F11  中断F9  步出shift+CRTL+F9
  • 清除变量:clear[var]
  • 清屏:可关闭 + Crtl N的操作 /Crtl + A ,del
  • 其他用到再补充,参考附件

可借助面板——数学助手,类似mathtype敲打公式,自动转换为mathmatica指令:

其中包括公式中的特殊字符:

  C-模块化

Crtl + N ,新建*.nb格式的文件。

 三、常用数学运算

  A-基本项

1)平方根:Sqrt[ ],首字母大写+中括号[] -> 指令的标配。

2)Sin[Pi/2]  Cos

3) Sqrt[-1] = i

4) N[exp, n] 给出exp的n位有效数字近似值

5)%调用前一次计算结果,%%再前一次,依次类推,如

Out[1]  a=3

In[2] s = b+% 等价于s = b+ a

6)解方程:Solve,如Solve[x^3-2x+1 == 0]

7)多项式展开 Expand[(1+x)^10]  Factor因式分解

8) Factorial[n]阶乘

9)Random伪随机数

10)Round, Floor, Ceiling,  GCD, LCM, Sin Cos Tan Sec Cot  Sin[Pi/3] = Sin[60 Degree]

11)Log自然对数,Log[2,100] log_2^100

12)

加Plus[a,b,c]

减Subtract

乘Times

除Divide

指数Power[a,b]

13)累加:

14)连乘

15)二项式

16)条件语句、循环语句

17)自定义函数(下划线)

18)序列Range[10]

19) 矩阵-花括号

  B- 解方程

1)Solve[方程,变量], 1个变量时,变量可忽略。

2)多个方程式:Solve[{方程1,方程2,....},{变量1, 变量2, ...}]

3)对于超越方程,可以借助FindRoot( 本质是梯度下降 )

4)多项式化简Simplify[Expression]

  C- 微分运算

1)极限运算 Limit[f(x), x->a, Direction ->1]其中Direction 可省略,1为左趋近,-1为右趋近。

2)自定义函数f,导数f',3阶导数f''',依次类推。

3)D[f[x],{x,n}]针对x求n阶导

4)多元  D[f[x,y],{x,n},{y,m}]针对x求n阶导

  D- 积分运算

1)Integrate[f[x],x]

2)Integrate[f[x],{x,a,b}]

3)多重积分

  E- 常微分方程

1)Dsolve[方程,y,x]

2)拉普拉斯变换

  F-其他

1)添加备注:(*此处内容忽略*)

2)自然对数底是E,而不是e,区分大小写,Pi、Infinity(无穷)等等常数都是如此。

3) 搜索指令: ?*关键词*,即通配符的模糊匹配查找。

四、基本作图

暂时无此需求,用到再说。

Mathmatica简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. Jenkins环境搭建(1)-下载与安装

    Jenkins简介 Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,它是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术. Jenk ...

  2. Mybatis之注解实现动态sql

    通过注解实现动态sql一共需要三部:1.创建表,2.创建entity类,3.创建mapper类, 4.创建动态sql的Provider类.1.和2.可以参见该系列其他文章,这里主要对3和4进行演示,并 ...

  3. 那些天使用AWS填过的坑和注意事项

    一直在找免费的GPU云端,在某乎上看到AWS提供免费的,就上去试了下,结果那个免费一年的只有CPU,并没有GPU,GPU还是需要付费的,相关背景就说这些,下面放几个相关教程,里面会说怎么使用,看了这几 ...

  4. JAVA中final修饰符小结

    一.final关键字可以用来修饰类.方法.变量.各有不同. A.修饰类(class).      1.该类不能被继承.      2.类中的方法不会被覆盖,因此默认都是final的.      3.用 ...

  5. Serializers 序列化组件

    Serializers 序列化组件   为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式. 那么我们给前端数据的时候都要转 ...

  6. Django之模板1

    Django模板 一.变量(只需要记住两种特殊符号) {{ }} 和{% %} {{ }}表示变量,在模板渲染的时候替换成值,变量名由字母数字和下划线组成. {% %}表示逻辑相关的操作. 点(.)在 ...

  7. 机器学习模型从windows下 spring上传到预发布会导致模型不可加载

    1.通过上传到redis,程序通过redis拉取模型,解决问题. 2.问题原因初步思考为windows下模型文件上传到 linux导致,待继续跟进查找.

  8. 最近公共祖先 LCA 倍增算法

          树上倍增求LCA LCA指的是最近公共祖先(Least Common Ancestors),如下图所示: 4和5的LCA就是2 那怎么求呢?最粗暴的方法就是先dfs一次,处理出每个点的深度 ...

  9. BKDR Hash 函数实现

    K&R一书中提出的BKDR Hash算法,这里给出C函数实现,实际用的时候分布比较好而且实现简单.唯一不明白的就是为什么选择131这种模式的数字作为种子,隐隐有沃尔夫勒姆31号自动机的似曾相识 ...

  10. python网络编程(五)

    udp广播 #coding=utf-8 import socket, sys dest = ('<broadcast>', 7788) # 创建udp套接字 s = socket.sock ...