Matlab系列教程_基础知识_程序控制

这次课程我们将一起学习Matlab的程序控制,这里面的主要内容有:

  • 顺序控制

  • 分支结构

    • 条件语句 (if-else-end)
    • 开关语句 (switch-case-end)
    • 循环语句 (for-end && while)

顺序控制

  • 顺序控制,其实很好理解,就是程序从第一行运行,一直运行到最后一行。matlab语言算是一门很古老的语言了,在matlab创立的时候,面向对象这个概念还不是很清晰,而且由于matlab本身就是用来解决数学问题的,并不需要面向对象那么复杂的概念,所以matlab算是一门面向过程的语言。尽管经历了这么多年的修改,现在也有了面向对象的意思,但是其实还是很少用到。

  • 这里我么讲的顺序控制主要是分支结构对应来讲的。 比如我们计算一系列的公式的时候,我们会一个一个的顺序计算这些公式,这个时候根本就不需要分支结构,所以程序自然也就是顺序控制了。
    这里写图片描述
    这个式子在计算的时候,就可以直接让程序顺序执行就可以了。


分支结构

我们重点还是来讲一下分支结构。

第一种分支结构:条件语句 (if-else-end)

  • if-else-end

    clear;clc;
    key=3;
    if key==1
    fprintf ("key == 1 \n");
    else
    fprintf ("key == ? \n");
    end

    ANS:[key == ? ]

  • if-end-if-end

    clear;clc;
    key=2;
    if key==1
    fprintf ("key == 1 \n");
    end
    if key==2
    fprintf ("key == 2\n");
    end

    ANS:[key == 2]

  • if-elseif-end

    clear;clc;
    key=2;
    if key==1
    fprintf ("key == 1 \n");
    elseif key==2
    fprintf ("key == 2\n");
    end

    ANS:[key == 2]

第二种分支结构:开关语句 (switch-case-end)
开关结构其实就是一种if-else的变形,原理很简单,就像是苹果从书上往下掉,然后一个人拿了几个口袋去接苹果,每个口袋都有条件,比如第一个口袋只能装红色的苹果,第二个口袋只能装绿色的苹果,第三个口袋可以装介于两种颜色之间的苹果。

clear;clc;
key=3;
switch key
    case{1,2}
        fprintf ("key等于 1 或者 2 。\n");
    case{3,4}
        fprintf ("key等于 3 或者 4 。\n");
    otherwise
        fprintf ("我也不知道key等多少!");
end

ANS:[key等于 3 或者 4 。]

第三种分支结构:循环语句 (for-end && while)
第三种结构可以说是最重要的结构了。之所以重要,是因为使用很广泛。当我们在使用matlab时,很多时候需要遍历某些区间,这个时候就需要使用for循环或者while循环。说句实话,我觉得在任何编程语言中,for和while循环都是通用的,这个说法很不严谨,所以课本上几乎是见不到的,哈哈。但是不行你仔细想想启示就是那么回事请。接下来给出几个for循环和while循环的例子,欢迎参考。

  • for-end
clear;clc;
for n=1:10
    fprintf ("%d ",n);
end
fprintf ("\n");

ANS:[1 2 3 4 5 6 7 8 9 10 ]

  • for-for-end-end

    clear;clc;
    for m=1:2
    for n=1:4
        fprintf ("%d ",n);
    end
    fprintf ("\n");
    end

    ANS:
    [1 2 3 4
    1 2 3 4 ]

  • 这里我顺便讲一个for循环的小技巧。比如说我们现在需要一个数组是1 3 5 7 9,然后用这几个数字去遍历,这个时候我们就可以把for循环写成以下形式:
clear;clc;
for n=1:2:10
    fprintf ("%d ",n);
end
fprintf ("\n");

ANS:[1 3 5 7 9 ]

  • while循环
clear;clc;
count=0;
while count<10
    fprintf ("%d ",count);
    count=count+1;
end

ANS:[0 1 2 3 4 5 6 7 8 9]

这里还有关于程序控制的continue、break等关键字,有程序设计基础的都很好理解,这里就不再赘述了。之所以讲了上面的程序控制语句,是因为matlab更像是一种命令行的形式更其他的编程语言很不相同,就连python都存在太多不同。每个句子结束没有冒号这个特点我就适应了很久。其实学着学着还是挺有趣的。

这就是matlab的程序控制结构,matlab不同于其他的编程语言,其实并不需要太多使用程序控制,如果你会其他的编程语言,上手matlab的程序控制其实非常简单,多加练习,20分钟就可以掌握。注意我说过的那个小技巧,真的很有用。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页