§6 程序设计
作为一种高级语言,它不仅可以如前几节所介绍的那样,以一种人机交互式的命令行的方式工作,还可以像 BASIC 、 FORTRAN 、 C 等其他高级计算机语言一样进行控制流的程序设计,即编制一种以 . m 为扩展名的 MATLAB 程序(简称 M 文件)。而且,由于 MATLAB 本身的一些特点, M
文件的编制同上述几种高级语言比较起来,有许多无法比拟的优点。
6.1
M
文件
所谓
M文件就是由MATLAB语言编写的可在MATLAB语言环境下运行程序源代码文件。由于商用的MATLAB软件是用C语言编写而成。因此,M文件的语法与C语言十分相似。对广大参加建模竞赛且学过C语言的同学来说,M文件的编写是相当容易的。M文件可以分为脚本文件(Script)和函数文件(Function)两种。M文件不仅可以在MATLAB的程序编辑器中编写,也可以在其他的文本编辑器中编写,并以“m”为扩展名加以存储。
6.1.1
脚本文件
脚本类似于
DOS下的批处理文件,不需要在其中输入参数,也不需要给出输出变量来接受处理结果,脚本仅是若干命令或函数的集合,用于执行特定的功能。脚本的操作对象为MATLAB工作空间内的变量,并且在脚本执行结束后,脚本中对变量的一切操作均会被保留。在MATLAB语言中也可以在脚本内部定义变量,并且该变量将会自动地被加入到当前的MATLAB工作空间中,并可以为其他的脚本或函数引用,直到MATLAB
被关闭或采用一定的命令将其删除。
例如:
%
命令窗口中定义矩阵 a ,
b
a=pascal
( 3
)
a=
1 1 1
1 2 3
1 3 6
b=magic
( 3
)
b=
8 1 6
3 5 7
4 9 2
%
在编辑器中编写下述命令
a=a+b
b=a-b
a=a-b
在编辑器中编辑完上例的脚本文件后,保存至文件
scripts
?/FONT>example中,然后在工作窗口中调用该脚本文件,
scripts—example
>> a
a=
8 1 6
3 5 7
4 9 2
>> b
b=
1 1 1
1 2 3
1 3 6
其中矩阵
a、b均是在工作空间中已定义完毕的,脚本运行时直接使用该变量,并对其进行操作,然后在命令窗口中调用该脚本,可以看到变量a、b已经进行了相互交换。
6.1.2
函数文件
MATLAB
语言中,相对于脚本文件而言,函数文件是较为复杂的。函数需要给定输入参数,并能够对输入变量进行若干操作,实现特定的功能,最后给出一定的输出结果或图形等,其操作对象为函数的输入变量和函数内的局部变量等。