初识MATLAB之编程基础一
初识MATLAB之编程基础一
之前4篇随笔初识MATLAB之文件读取,初识MATLAB之矩阵,初识MATLAB之运算符与字符串,初识MATLAB之数据类型介绍了MATLAB基础。接下来分2篇随笔来介绍MATLAB之编程基础。其中编程基础一讲述变量,语句及控制结构。编程基础二讲述M文件及函数。
一 变量和语句
1.1 变量
变量命名:有一些命名规则。
1)对字母大小写敏感。
2)开头必须是字母。
3)不能使用关键字。关键字共有20个(可通过命令iskeyword查询,如下所示)
>> keywords= reshape(iskeyword,[5 4]) keywords = 'break' 'else' 'global' 'return' 'case' 'elseif' 'if' 'spmd' 'catch' 'end' 'otherwise' 'switch' 'classdef' 'for' 'parfor' 'try' 'continue' 'function' 'persistent' 'while'
4)变量名最多为63个字符。(一般用不到这么多)
5)如果有函数名与变量名一致,则函数失效。
变量类型:局部变量,全局变量和永久变量
1)局部变量:函数调用结束,局部变量被删除。
2)全局变量:全部工作空间有效。声明方式global关键字。如下
>> global nihao
3)永久变量:声明在函数中,作用为当函数中有变量不想它被删除,可以使用persistent关键字声明永久变量。使它保留。如下
>> persistent nihao
1.2 语句
语句的定义就不写了。与其他语言一致。但是要提的是它的句终符号与其他语言的不同。
句终符号:分为3种外加1种注释符。
1) ‘,’为有输出但是暂缓可继续执行之下的语句。
2) ‘;’为无输出可继续执行之下的语句。
3) 回车 为有输出且不继续执行之下的语句,立即输出。
4) “/%” 为注释符在后面写补充说明,请多多使用,利人利己。
2 控制结构
MATLAB中的控制结构与其他语言相似,都是分为三种结构:顺序结构,分支结构和循环结构。但与其他语言不同的是具体实现不一样。
2.1 顺序结构
MATLAB中是顺序执行的不像有些语言有并行执行。顺序结构是基础结构,与其他语言的区别不大,主要是前1.2中提及的句终符号。如下
>> a=2 b=3.1 c=a*b a = 2 b = 3.1000 c = 6.2000
2.2 分支结构
分支结构主要介绍两种常用结构if-else-end结构和switch-case结构。
2.2.1 if-else-end结构
常用形式一:if-end,C语言对应的是if(条件){}。而MATLAB不同。如下
>> x=1:2:9 if 1 %1为判断条件恒为真 y=9-x end x = 1 3 5 7 9 y = 8 6 4 2 0
常用形式二:if-else-end,C语言对应的是if(条件){}else{}。而MATLAB不同。如下
>> x=1:2:9 if 0 %0为判断条件恒为假 y=9-x else y=x-9 end x = 1 3 5 7 9 y = -8 -6 -4 -2 0
常用形式三:if-elseif-else-end,C语言对应的是if(条件){}elseif(条件){}else{}。而MATLAB不同。如下
>> x=1:2:9 if 0 %0为判断条件恒为假 y=9-x elseif 0 y=x-9 else y=9-x end x = 1 3 5 7 9 y = 8 6 4 2 0
2.2.2 switch-case结构
与if-else-end结构相比,再与C语言的对比中也是条件不用括号,但结尾要加end。如下
>> x=0; switch x case 1 y='一' case 2 y='次' case 3 y='性' case 4 y='炮' case 5 y='灰' otherwise y='你好!' end y = 你好!
2.3 循环结构
循环结构主要介绍两种常用结构for循环结构和while循环结构。
2.3.1 for循环结构
>> N=6; for R = 1:N for C = 1:N A(R,C) = R*C; end end A A = 1 2 3 4 5 6 2 4 6 8 10 12 3 6 9 12 15 18 4 8 12 16 20 24 5 10 15 20 25 30 6 12 18 24 30 36
2.3.2 while循环结构
>> i=0; x=0; while i<=100 x=x+i; i=i+1; end x x = 5050
总结:for循环结构和while循环结构不想加文字描述了,都是基础。应该一看就懂。