MATLAB 第5章 程序结构.ppt
第第5章章 程序结构程序结构1本章内容n5.1 顺序结构(顺序结构(Sequence Structure)n5.2 For循环循环n5.3 While循环循环n5.4 Case结构结构n5.5 事件结构(事件结构(Event Structure)n5.6 使能结构使能结构n5.7 公式节点(公式节点(Formula Node)n5.8 跟着跟着实实例学例学模模拟拟温度采集温度采集监测监测系系统统25.1 顺序结构(顺序结构(Sequence Structure)n5.1.1 LabVIEW程序的执行顺序 数据流式的编程方法 多段代码同时执行35.1 顺序结构(顺序结构(Sequence Structure)nFlat Sequence StructurenStacked Sequence Structure 45.1 顺序结构(顺序结构(Sequence Structure)n在在Flat Sequence Structure的的Frame间传递间传递数据数据55.1 顺序结构(顺序结构(Sequence Structure)n在在Stacked Sequence Structure的的Frame间间传递数据传递数据 65.2 For循环循环nFor循环用于将某段程序循环执行指定的次数。可以通过两种方法指定循环次数,一种是直接给定,一种是通过输入数组的大小给定 75.2 For循环循环n输入和输出数组输入和输出数组85.2 For循环循环n5.2.3 移位寄存器移位寄存器(Shift Register)一个累加一个累加10次的次的a+程序程序 通过局部变量实现通过局部变量实现通过移位寄存器实现通过移位寄存器实现 95.2 For循环循环n5.2.4 反馈节点(反馈节点(Feedback Node)通过反馈节点实现通过反馈节点实现a+105.3 While循环循环115.3 While循环循环n5.3.2 添加定时器添加定时器125.3 While循环循环n5.3.3 使用移位寄存器和反馈节点使用移位寄存器和反馈节点累加器程序累加器程序 135.4 Case结构If(a%2=0)b=a+2;elseb=a+1;end5.4.1 等价于等价于if.else.语句的句的Case结构构145.4 Case结构n5.4.3 等价于等价于switch语句的语句的Case结构结构switch(fruit)case apple:price=9;case banana:price=10;case pear:price=8;default:price=0;155.5 事件结构(Event Structure)n分析该程序可以看出,这个程序在没有用户点击的情况下完全都是在“空转”,浪费了大量的CPU资源,而且当“事件”发生太快时可能会被忽略。因此Labview提供了事件结构来解决这个问题,即仅当“事件”发生时,程序才做相应的响应 基于基于While循环和循环和Case结构的单击计数器结构的单击计数器 165.5 事件结构(Event Structure)175.5 事件结构(Event Structure)18195.5 事件结构(Event Structure)基于事件结构的单击计数器基于事件结构的单击计数器 205.5 事件结构(Event Structure)n5.5.2 Filter事件事件n顾名思义,当该事件发生时,用户可以过滤掉甚至顾名思义,当该事件发生时,用户可以过滤掉甚至完全放弃掉该事件将触发的活动。完全放弃掉该事件将触发的活动。21注意:注意:n一般来说,事件只能通过外在用户的动作触发,如单击鼠标,键盘等。如果需要内部数据触发事件(例如当ab条件满足时触发一个事件),就需要通过用户自定义事件的方法实现,这将在本书的21.3节中介绍。225.6 使能结构使能结构n5.6.1 框图使能结构框图使能结构注释程序框图注释程序框图235.7 公式节点(Formula Node)n通过公式节点,用户不仅可以实现复杂的数学公式,还能通过文本编程写一些基本的逻辑语句,如ifelse,case,while循环之类的语句。y=245.7 公式节点(Formula Node)n公式节点中可以包含任意数量的公式公式节点中可以包含任意数量的公式 255.7 公式节点(Formula Node)n5.7.2 文本编程语言的实现文本编程语言的实现基于公式基于公式节点的点的CRC16算法的算法的实现 265.8 跟着跟着实实例学例学模模拟拟温度采集温度采集监测监测系系统统27小试身手n1.利用顺序结构和timing面板下的tick count VI,计算for循环1000000次所需的时间。n2.为第4章习题4添加一个While循环和定时器,实现连续的温度采集监测28小试身手n3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节29小试身手n4.求分数序列 前20项之和。n5.给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。30小试身手n6.利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为1231小试身手n7.利用公式节点判断一个数是否是素数,我们可以采用这样的算法:用2sqrt(N),依次去对N求余,只要有一个余数是0,则N就不是素数。32