目录
1 历史版本和工作界面
2 MATLAB命令的执行方式和编程
3 数值与符号计算
4 数据的可视化(工程与科学绘图)
5 M语言和工具箱
6 数据的分析与统计
7 Matlab优化
8 Simulink建模与仿真
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB语言是以矩阵计算(所有的数据都是以数组的形式来表示和存储的)为基础的程序设计语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C 语言基础上的,因此语法特征与C 语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。
新版本的MATLAB可以利用MATLAB编译器和C/C 数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C 代码。允许用户编写可以和MATLAB进行交互的C或C 语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB 产品族可以用来进行以下各种工作:
1 历史版本和工作界面数值和符号计算:算术、方程、微积分等;
数值分析:求最大值、最小值、平均值等;
工程与科学绘图:数据和函数的可视化;
控制系统的设计与仿真;
数字图像处理技术;
数字信号处理技术;
管理与调度优化计算(运筹学);
建模与仿真;
1.1 历史版本
MATLAB 7(R14):2004开发的版本。
MATLAB 8.0(2012b版):在MATLAB Desktop 中,工具条取代了菜单和工具栏。
2014b版:推出了全新的 MATLAB 图形系统。全新的默认颜色、字体和样式便于数据解释。抗锯齿字体和线条使文字和图形看起来更平滑。图形对象便于使用 – 您可以在命令窗口中显示常用属性,并且对象支持熟悉的结构化语法,可以更改属性值。另外,还增加了许多其他新功能。
1.2 工作界面
I 命令窗口Command Window
MATLAB是交互式语言,输入命令即给出运算结果。指令窗口的常用功能主要包括算数运算、表达式运算、函数绘图、功能标点符、常用控制指令等。
II 工作空间Workspace
内存变量的指令操作和数据的文件存取。
III 历史指令窗口Command History
用于记录在指令窗口中运行过的所有指令,这些指令可以被复制,也可以送到指令窗口中再次运行。
IV 当前文件夹窗口Current Folder
MATLAB
7.8.0 R2009a
R2013a
2 MATLAB命令的执行方式和M语言编程Matlab是一个很多功能的软件,很多功能用不到,安装的时候就不要安装了, 这样启动的速度会快很多的。
2.1 交互式命令的执行方式(命令窗口)
逐条输入,逐条执行,操作简单、直观,但速度慢,执行过程不能保留。
2.2 M文件的执行方式
将命令编成程序保存在一个文件中(M文件),依次运行文件中的命令,可以重复进行。M文件是由若干Matlab命令组成在一起构成的,它可以完成某些操作,也可以实现某种算法。
M文件根据调用方式的不同分为两类(扩展名都是.m):
I 命令文件Script File:没有输入参数,也不返回输出参数;命令文件对工作空间中的变量进行操作,文件中所有命令的执行结果也返回工作空间中。命令文件可以直接运行。
II 函数文件Function File:可以带输入参数,也可以返回输出参数;函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量也被清除。函数文件不能直接运行,要以函数调用的方式来调用它。
2.3 M语言编程
利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。
新建一个M文件,通过文件-新建,或者通过快捷方式都可以,然后,在M文件中输入如下代码:
function [a,b]=example(x1,x2)
a=x1;
b=x1 x2;
我们完成了函数的编写。
在MATLAB主窗口中输入如下命令;[a,b]=example(1,2),回车。
我们可以看到如下结果:
a =1 b=3,我们完成了函数的调用。
求一元二次方程ax² bx c=0的根
a=input('a=?');
b=input('b=?');
c=input('c=?');
d=b*b-4*a*c;
x=[(-b sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];
disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
程序输出为:
a=?4
b=?78
c=?54
x1=-0.7188,x2=-18.7812
3 数值与符号计算求[100,200]之间第一个能被21整队的整数。
for n=100:200
if rem(n,21)~=0;
continue
end
break
end
n
程序输出结果为:
n=
105
3.1 数值计算
数值计算主要指数值数组及矩阵的运算。
>>1-sin(pi/2) 100*(1-3^2)
ans=
-800