第一章计算机数学语言概述•1.1数学问题计算机求解概述–数学问题求解•手工推导(只解决部分问题)•借助计算机–用数值分析技术,从底层编写起采用成形的数值分析算法、数值软件包与手工编程相结合的求解方法。–用专门计算机语言来求解MATLAB、Mathematica、Maple等•解析解不能使用的场合–解析解不存在:无理数,无限不循环小数p–数学家:尽量精确地取值–工程技术人员:足够精确即可–祖充之3.1415926—3.1415927•解析解存在但不实用或求解不可能–高阶矩阵行列式1.1.2数值解应用场合•在力学领域,常用有限元法求解偏微分方程;•在航空、航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题;•工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法;•在高科技的数字信号处理领域,离散的快速Fourier变换(FFT)已经成为其不可或缺的工具。•…………软件包作用•从历史发展角度,起了不可替代的作用•对计算机数学语言的强有力支持•但不能过多依赖•使用烦琐•应该在计算机数学语言的意义下利用之考虑一个实际编程例子•如何编写一个能求出两个矩阵相乘的计算机通用子程序?该程序正确吗?错误,未考虑矩阵是否可乘是否正确?错误,未考虑其一为标量加入标量判定,是否就是通用程序了?错误,考虑其一或二者为复数矩阵可见,用最底层的编程语言需要考虑的内容要多得多,所以调试起来不容易,容易出现漏洞MATLAB实现:C=A*B1.2.2三个代表性计算机数学语言•“三个代表”:MATLAB,Mathematica,Maple•MATLAB–数值运算、程序设计,广泛应用•Mathematica、Maple–解析运算、数学公式推导、定理证明•MATLAB+符号运算工具箱+Maple–可以推导公式,可以调用Maple功能MATLAB语言的优势•编程简单,类似于其他语言,如C•集成度更高,扩展性更好•数学问题数值解能力强大•由Maple内核构成的符号运算工具箱可以继承Maple所有解析解的求解能力•在数学、工程领域各种“工具箱”•强大的系统仿真能力,Simulink建模•在控制界是国际首选的计算机语言1.3MATLAB科学计算的主要内容•三大基本功能:数值计算、符号计算、图形处理•程序设计与应用程序接口•MATLAB科学计算中的应用–在数值分析中的应用–在复变函数中的应用–在偏微分方程解法中的应用–在概率统计中的应用–在最优化问题中的应用–数学问题的非传统解法•模糊逻辑与模糊推理•神经网络在数据拟合中的应用•遗传算法在最优化求解中的应用•小波理论在数据处理中的应用•粗糙集理论与应用•分数阶微积分理论与计算–在建模仿真中的应用–……1.4MATLAB在数值分析中的应用•多项式与插值•数据的曲线拟合•数值微分与数值积分•线性代数•非线性方程求根•常微分方程的初值问题•常微分方程的边值问题