列举详细的数学相关软件:MATLAB为何可以这么强
一. MATLAB主要参考书
此处列举六本与MATLAB计算相关的参考书籍:
《高等应用数学问题的MATLAB求解》 薛定宇、陈阳泉著,清华大学出版社
《精通MATLAB科学计算》 王正林等编著 电子工业出版社
《科学计算引论--基于MATLAB的数值分析》 【美】Shoichiro Nakamura 电子工业出版社
《MATLAB与科学计算》王谟然编著 电子工业出版社
《MATLAB 6.0数学手册》 蒲俊等编著 蒲东电子出版社
二. 与数学有关的软件
程序设计语言
BASIC, Pascal, FORTRAN, C, C++, Java, R, Python ······
数值计算语言
Matlab, Scilab, Octave······
符号计算软件
Mathematica, Maple······
交互式数学软件
MathCAD, Calcwin······
统计软件
SAS, SPSS, Minitab,······
数学规划软件
Lingo, Lindo······
工程计算软件
Ansys, Fluent, Phoenics······
其他
几何画板, MathLab
三. 数学问题的计算机求解概述
借助手工推导,只能解决部分数学问题。所以,我们需要利用计算机进行求解数学问题。计算机的利用包含以下两个方向:
- 用数值分析技术,从底层编码起:采用成形的数值分析算法或数值软件包,利用纯手工编码进行解决数学问题。
- 用专门的计算机语言进行求解:MATLAB,Mathematic,Maple等
例题1 带参数问题的求解
求以下方程的解。
分析:
在a,c,d是给定数值时,数值分析的方法是可用的;
当不是给定数值时,数值分析的方式不可用。必须使用计算机数学语言来求解。
例题2 时间复杂性
求矩阵的行列式。
分析:
方法:用代数余子式方法。
过程:一个n阶行列式可以表示成n个n-1阶行列式的和,以此类推······。可以把高阶行列式转换为1阶矩阵行列式。
结论:任意矩阵行列式的解析解是存在的。
问题:此方法忽略了可计算性问题。例如n=20,运算次数是,用每秒亿次的银河机需要3000年。所以此方法忽略了复杂度和可行性。
例题3 求解精度的问题
Hilbert矩阵的标准形式如下:
求n=20时,Hilbert矩阵的行列式。
分析:
如果利用传统数值分析的方法,很容易得出矩阵奇异的错误结论。
奇异矩阵:线性代数的概念,对应的行列式等于0的矩阵。
在MATLAB中,在双精度级别下容易快速得到数值解。
MATLAB双精度:
double
是 MATLAB中的默认数值数据类型,数值变量自动存储为 64 位(8 字节)双精度浮点值
求解:
MATLAB代码如下:
clc;clear;%准确值
H=sym(hilb(20));
det1=det(H)%近似值
det2=det(hilb(20))%分析运行时间
tic;det(hilb(20));toc
运行结果:
det1 =
1/2377454716768534509091644243427616440175419837753486493033185331234419759310644585187585766816573773440565759867265558971765638419710793303386582324149811241023554489166154717809635257797836800000000000000000000000000000000000
det2 =7.453419356146346e-196
历时 0.001154 秒。
四. 解析解与数值解
4.1 两者的区别
数学家和工程技术人员的关注点是不一样的:
- 数学家:理论严格证明,存在性
- 工程技术人员:如何直接得出解
例如,以下积分的解析解是不存在的:
于是,数学家就引入符号erf(a)来表示它。当然工程技术人员更关心积分的值,也就是积分的数值解。
解析解在有无理数,无限不循环小数时,是不存在的。于是,数学家便尽量精确取值,而工程技术人员只需要足够精度即可。例如,工程技术人员就常常把取在3.1415926~3.1415927之间。另外,对于高阶矩阵的行列式,解析解虽然存在但是不实用。
4.2 数值解应用场合
- 在力学领域,常用有限元法求解偏微分方程
- 在航空航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法来解决实际问题
- 在工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程,常微分方程的数值解法
- 在高科技的数字信号处理领域,离散的快速Fourier变换(FFT)已经成为其不可或缺的工具
五. 数学运算问题的软件包
此处列举四个享有国际声望的软件包:
- 线性代数:LINPACK
- 矩阵特征值计算:EISPACK
- NAG:Oxford Numerical Algorithm Group
- 线性代数计算:LaPACK
从历史发展的角度来讲,软件包起了不可替代的作用,同时对计算机数学语言提高了强有力的支撑。由于使用起来比较繁琐,所以我们不能过多依赖它,理应该在计算机语言的意义下更好地利用它。
例题4 设计两个矩阵相乘的计算机通用子程序
底层语言可设计如下:
for (i=0;i<n;i++){for (j=0;j<m;j++){c[i][j]=0;for (k=0;k<L1;k++){c[i][j]=c[i][j]+a[i][k]*b[k][j];
}}}
很明显该矩阵是错误的,未考虑矩阵是否可乘。
添加1:If(L1==L2),相乘;else 出错信息;
很明显依旧错误,未考虑其中某个矩阵为标量。
添加2:继续添加标量判定
很明显依旧错误,未考虑矩阵为复数矩阵的情况。
可见,用最底层的编程语言需要考虑的内容太多,所以调试起来很不容易,容易出现漏洞。
然而,在MATLAB只需要以下命令格式即可实现:
C=A*B
六. 计算机数学语言
Mathematic由Wolfram Research公司开发,Maple由Waterloo Maple公司开发,两者均用来解析运算、数学公式推导和定理证明。
SciLAB软件纯免费,全部的源代码也已经公开。
MATLAB全称MATrix LABoratory,起源于1980年New Mexico University的教授Cleve Moler,当时正赶上状态空间的控制理论的兴起发展阶段,所以此软件主要用于自动控制学科的应用,后来该软件隶属于The Math Works Inc公司。
现如今,MATLAB主要用于数值计算、程序设计等方面,甚至利用符号运算工具箱,可以调用Maple的功能,来进行公式的推导。
列举详细的数学相关软件:MATLAB为何可以这么强相关推荐
- 直扩 单音干扰抑制 matlab,数学计算软件MATLAB资料集锦分享
数学计算软件MATLAB资料集锦分享 (2014-08-20 17:07:08) 标签: matlab 数学建模 仿真模拟 整理了一些有关MATLAB资料如下: 1.H型可逆PWM变换器的控制方式解析 ...
- 数学计算软件(Matlab、Mathematica)网页版
有时候会用到Matlab及Mathematica的数值计算或者符号计算功能,但是去安装一下太麻烦,而且毕竟不是常用,所以有了这样的需求. 在网上搜了下,发现真没这样的网站,可能也涉及到版权的问题,所以 ...
- 数据分析相关软件下载(python,pycharm,matlab,还有乱入的PR哈哈)
数据分析相关软件下载(python,pycharm,matlab,还有乱入的PR哈哈) #win10系统要使用破解版工具一定要记得关闭windows defender!!!不然你刚下载好的工具立马给你 ...
- matlab编程数学基础,数学软件 Matlab ——编程基础(脚本).ppt
数学软件 Matlab 本讲主要内容 Matlab 编程入门 M 文件 M 文件 编程示例 本讲主要内容 关系运算 关系运算举例 逻辑运算 逻辑运算表 逻辑运算 一些测试函数 运算优先级 本讲主要内容 ...
- 如何用数学软件MATLAB表白:让你在5月20日成功脱单
如何用数学软件MATLAB表白:让你在5月20日成功脱单 再过几天就是2020年5月20日了,刺激吗?扎心吗?请你记住我经典的话:此生入IT,单身不足惜 好吧!为了让生活不再孤单,你还是得去表白试试, ...
- 计算机数学相关课程设计,课程设计-日期类-小学生数学测验软件器.doc
文档介绍: 目录课程设计任务书一.................................................................................... ...
- 使用数学软件Matlab建模画图程序汇总
这篇文章主要介绍了使用数学软件Matlab建模画图程序汇总,小编觉得挺不错的,现在分享给大家,也给大家做个参考. 软件版本:Matlab 2016b 1. 二维数据曲线图 1.1 绘制二维曲线的基本函 ...
- 用matlab数学综合实验,MATLAB与数学实验(第2版)
MATLAB与数学实验(第2版) 作者:艾冬梅 李艳晴 张丽静 刘琳 出版日期:2014年06月 文件大小:46.48M 支持设备: ¥18.00在线试读 适用客户端: 言商书局 iPad/iPhon ...
- 数学建模酶促反应matlab求解,数学建模——酶促反应.doc
数学建模--酶促反应 数学建模 摘要 本文针对嘌呤霉素在某项酶促反应中对反应速度和底物浓度之间的关系的影响的问题,根据实际可知符合底物浓度与反应速度的模型有两种,即Michaelis-Menten模型 ...
最新文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统--任务调度系统解析
- 创业者应该了解的五大无服务器AWS服务
- My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包
- python实现一个QQ群聊天机器人
- java web整合开发完全自学手册pdf_《JavaScript完全自学手册》PDF 下载
- 计算机考研用python_20年苏州大学计算机考研经验
- Excel多个工作簿合成为一个工作表
- 辨析:工作路径与脚本路径
- 如何打开电脑端口——以开启mysql数据库3306端口为例
- 第三方支付平台——业务介绍(龙果)
- 【红外技术】红外焦平面阵列非均匀性校正
- 教你去掉 U盘写保护
- nbu6.5 linux安装,Veritas.Netbackup 6.0 for Linux RedHat AS5.3安装问题
- Casbin入选2022 Google编程之夏
- 常用的几种 GPRS 模块
- 整理一下虚拟化与Linux的学习经历
- 成功解决Win10连接上wifi但是却显示“无Internet,安全”
- 【Spark】广播变量和累加器
- virtualbox设置文件夹共享(win7主机)
- php global $_g;,global.php