初识MATLAB之编程基础一 - 一次性炮灰

初识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循环结构不想加文字描述了,都是基础。应该一看就懂。