MATLAB语言及编程实践:生物数学模型应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.1 MATLAB的简单使用

MATLAB的基本使用非常简单,就如同在白纸上进行演算一样。在命令行窗口中,MATLAB的命令提示符是双大于号“>>”,用户可以在这个提示符下输入想运行的命令或计算式等,输入完毕后,回车立即执行,即刻出现结果。例如,计算1+2×3-4/5,只需按照我们日常的书写习惯,将计算式输入命令提示符后即可,如图1-13所示。

在MATLAB中,日常使用的运算符号,如加(+)、减(-)、乘(*)、除(/)等,仍然符合我们的使用习惯,运算的先后顺序也是按照默认习惯进行的。在默认情况下,输出结果以ans表达,这里的ans是英文单词answer(答案)的简写。运行完毕后,MATLAB默认回到命令提示符状态。

图1-12 命令行窗口的操作

图1-13 在命令行窗口进行计算

在MATLAB中,数据默认以矩阵的形式存储,MATLAB以方括号[ ]表达矩阵,所有输入数据都放在方括号内部。在命令行窗口中直接输入矩阵数据时,各元素之间可以用逗号或空格分隔,两种分隔符分隔的数据在矩阵中都按照同行数据对待。在实践中,尤其是当把运行结果复制到其他文本编辑器中进行编辑时,逗号分隔比空格分隔更具可读性,出错的概率更低。矩阵中不同行之间用分号或回车符分隔,但在命令行窗口中,笔者强烈建议使用分号分隔,不使用回车符分隔,因为回车符默认为执行命令。如下的代码中,使用逗号分隔同行元素,使用分号或回车符分隔行间元素,读者可对比它们的可读性。

特别提示:MATLAB不能识别中文标点符号,所有标点符号,均应以英文状态为准,否则会报错。若使用了中文标点符号,则会看到凡是使用中文标点符号的地方,都会以红色字体醒目显示。如图1-14所示,可在命令行窗口中输入观察。

图1-14 MATLAB不支持中文标点

在MATLAB中,数据的保存是默认的,矩阵行列数根据输入时的行列分隔自动确定。一般来说,MATLAB对矩阵的大小限制会因版本和计算机实际内存配置而不同,可通过memory命令查阅配置情况。另外,MATLAB的部分函数有维数限制。例如,对于零矩阵命令zeros,当使用zeros(100000)命令创建105×105的矩阵时,MATLAB报错,认为超限。

笔者测试了自用计算机的允许值:

运行结果如下:

在MATLAB中,创建的变量被保存在工作空间中备用,直到用户使用命令clear将它清除为止,或者关闭MATLAB命令行窗口后才能释放其占据的空间。MATLAB对字母的大小写敏感,字母相同、大小写不同的变量,被认为是不同的变量,如ABC、abc、Abc、aBc、abC是不同的变量。

MATLAB允许在同一行内输入多条命令,其长度没有限制。但MATLAB在命令行窗口中输出的文本不允许超出命令行窗口显示的行长度,最多为25000个字符,多余的文本会被截断。为了能在A4大小的页面打印输出,笔者建议在设定5号字的情况下,每行最好不超过90个字符,多余的可使用MATLAB提供的续行符进行接续。

在MATLAB中,续行符是指连续3个或3个以上英文状态的点,即省略号,接续在其他标点符号或运算符后面。例如,下面的命令使用了3个点构成的续行符:

续行符不能直接跟在数据后,它必须跟在运算符或其他标点符号(如逗号)后面,并且执行接续的两行中间不允许有空行,否则会把续行符看作错误,如图1-15所示。

图1-15 续行符的正确使用

续行符主要执行“续”的功能,因此续行符最好不要放在句首。对于放在句首的续行符,MATLAB会将该行当作注释行跳过,并从其下一行的输入开始执行,因此这种情况下MATLAB不会报错,但执行结果却不是我们所预期的。例如:

实际上,对于续行符放在句首的情况,MATLAB编辑器还是会给出警示的。例如,上述输入MATLAB会以不同颜色显示,表示其有潜在的问题。

续行符执行续行的功能,不能通过help帮助命令来查阅它的使用方法,当在命令行窗口使用“help...”查阅其使用方法时,不能得到帮助文件。

和其他计算机语言类似,MATLAB也允许在代码中加上注释语句,MATLAB的注释语句以百分号%开头,默认以绿色字体表示注释。例如: