前言
       MATLAB是一个强大的数学软件,它吸取了Maple等软件的优点,包括易用性、平台独立性、强大的预定义函数库、机制独立的画图、交互式用户图形界面以及基于P代码的MATLAB编译器,其语言的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,所以用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事要便捷得多。另外,MATLAB的功能相当强大,可以胜任几乎所有的工程分析问题;而且MATLAB计算精度较高,具有强大的工具箱和矩阵处理能力,被广大学术界的研究人员所认可。因此,MATLAB是一款高效的科学计算软件。

       本章就从最基本的运算单元出发,介绍了MATLAB矩阵的表示方法、符号变量的应用和线性方程组的求解,并着重讲解了MATLAB在工程上的简单应用。
一、MATLAB通用命令

       MATLAB通用命令即对MATLAB功能的阐述,不受MATLAB版本的限制。
1.MATLAB菜单说明
       即MATLAB主界面上方的菜单功能区,如图1-3,其中的功能主要完成新建脚本和文件、打开文件、查找文件、对比文件等操作。L%D6B%P3Q8OA[5~XK)GKJJB.png
2.MATLAB路径设置
       默认目录为“X\MATLAB\work\”,可在DOS或Windows环境下建立新工作目录。此外MATLAB可通过指令窗口的“设置路径”项扩充搜索路径,否则其不能与其他目录交换信息。
3.MATLAB系统常量说明
       MATLAB的常用常量见表1-1,定义其他变量时应避免与常量名相同。MATLAB生成矩阵也十分方便,方法也有很多,除了直接输入和矩阵组合之外,还可以从文件中读取,对于特殊矩阵,可直接用函数生成(见表1-2)。
QQ图片20240222232706.pngQQ图片20240222233637.png
4.MATLAB程序注解符说明
       “%”表示注释符号;
        "clc"表示清屏操作;
        "clear"表示清除Workspace中各类型的所有数据,避免变量冲突和程序错误;
        "close all"表示关闭所有的图形窗口,便于下一程序运行。
二、MATLAB的计算基础
       MATLAB的预定义变量主要包括元胞数组结构体,元胞用来存放任意类型大小的数组,而结构体用来存放不同类型的数据。二者都可以通过直接定义或通过相对应函数来定义;二者区别在于前者通过值传递数据,后者通过指针传递数据。在程序中,二者合理运用,可以使程序更简洁易懂。
       对于输入的矩阵,可通过MATLAB的矩阵函数进行运算,常见的矩阵运算函数如表1-5,矩阵的一些复杂运算也是通过一系列运算组合而来的。QQ图片20240223000604.png
        MATLAB的数值型数据类型默认为双精度浮点数,用double表示,除此外还有single,int,uint等等,其能表示的最小实数称为数值精度,任何绝对值小于数值精度的数都会显示为0;其能显示的有效位数称为显示精度,默认情况下,整数显示整型,实数保留小数点后4位。
       对于字符型数据,MATLAB也有相关操作函数,见表1-7.QQ图片20240223001756.png
       不同字符类型间也可以相互转换,转换函数如表1-8.QQ图片20240223002148.png
三、MATLAB程序设计基础
1.基本程序设计步骤:1)新建.m文件;
                                 2)编写代码,在编写代码时要保存阶段性成果;
                                 3)试运行代码,若有运行错误可单击错误信息进行修改;
                                 4)保存代码。
一个完整的M文件包括文件头、主体和end结尾。函数头代码即QQ图片20240223003230.png,end结尾代码即QQ图片20240223003250.png,主体部分即所编写的有关运算的代码。
2.程序控制语句的运用
     
MATLAB的控制语句与C语言有些相似,主要包括分支控制语句(if结构和switch结构)、循环控制语句(for 循环、 while循环、continue语句和 break语句)和程序终止语句(return语句)。C语言中已经详细学过,就不再记录。
四、MATLAB的绘图功能
     
 MATLAB的绘图功能很强大,将图形可视化,而且图形还可以插入到其他系统中。除了绘制常规的离散数据图形和函数图形之外,还可以通过“格点”矩阵和meshgrid指令绘制网格图,以及通过surf指令绘制曲面图。对于不常见的特殊图形,MATLAB也有不同的画图函数,如切片函数等等。
五、微积分问题求解
1.符号微积分:1)极限:QQ图片20240223005351.png
                       2)微分:QQ图片20240223005505.png
                       3)积分:QQ图片20240223005521.png
2.微分方程的数值解:通过Runge-Kutta法
QQ图片20240223005818.png
3.龙贝格积分法微积分运算QQ图片20240223010102.png
4.有限差分法求边值问题QQ图片20240223010155.png
5.样条函数求积分QQ图片20240223010328.png
6.常微分方程符号解QQ图片20240223010427.png
六、非线性方程与线性规划问题求解
1.非线性方程组求解
:对于方程F(x)=0,调用fsolve函数求解,即QQ图片20240223010836.png
2.无约束最优化问题求解:调用fminsearch函数求解,即QQ图片20240223011032.png
3.线性规划问题:调用linprog函数求解
4.二次规划问题:调用quadprog函数求解