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