![MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/629/27111629/b_27111629.jpg)
3.5 程序结构和M文件应用实例
【例3-19】 编写一个M脚本文件,完成从键盘输入一个学生成绩。分别用if结构和switch结构判断该成绩是什么等级,并显示等级信息任务。已知:大于或等于90分为“优秀”;大于或等于80分,且小于90分,为“良好”;大于或等于70分,且小于80分,为“中等”;大于或等于60分,且小于70分,为“及格”;小于60分,为“不及格”。
(1)下面是if结构代码存为exer_3_19_1.m脚本文件。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P146_29020.jpg?sign=1739578227-rev0zQryO6w4V1HNx36QKU0fCmr2JfNl-0-045dbc7c56db6e99dcd5a13bc2bc0c24)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P146_29021.jpg?sign=1739578227-lRjrTJ0JhTnwVTqnWxZ2DVOAJoevZ15Y-0-ed8c61afdc49b3cf77cc194e818dba5c)
(2)下面是switch结构代码存为exer_3_19_2.m脚本文件。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P146_29022.jpg?sign=1739578227-37Y0fkqrFAnftEQSxBHt6lqTj0fJ1Wp9-0-40d01928e5d343d0ad47e69932c9d4db)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P147_29023.jpg?sign=1739578227-T8lSEUyuAz8F4jw42FbCVFOQyeCgSZlJ-0-4a35a1e4a7e2fe26e864abe9785a72a3)
【例3-20】 编写M脚本文件,使用梯形法计算定积分,其中a=0,b=5π,被积函数为
,取积分区间等分数为2000。
其中,d=(b﹣a)/n为增量,n为等分数。
程序代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P147_29032.jpg?sign=1739578227-GxWXkNmhMsPuZzlS8t22bl9GW7YvzXLV-0-fb3f24c413ae45bd8c3a8bd3687dc2fb)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P147_29033.jpg?sign=1739578227-HokQm5ps4Q2VBbZ1GHkI4yRPIaMIX4qb-0-28ca5879cff5cf54e476c75a61e61438)
【例3-21】 编写一个M函数文件,用for循环结构求当n=1000时下列式子的值。
(1)
(2)
(1)程序代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P148_29038.jpg?sign=1739578227-vwNVlCLM2fAf5mscYL9tQJgL2YVDKEtP-0-9431f3a31ff49519952ef4079c8c8111)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P148_29039.jpg?sign=1739578227-yJwozx8kAKn0PMqq7Cr4gnKfsNAMKxmi-0-f0cee6b606abb7df3568a9887bee8e8c)
(2)程序代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P148_29040.jpg?sign=1739578227-POuTIwCMe9BNpcVGwTd6SCrktfia8rTD-0-0cc996ea8dd8b0c4bcce49bc1e27f6d2)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P148_29041.jpg?sign=1739578227-ZvePlnTdLUxecNh7ZeHsFzULe4dq7VQq-0-2b14edb891977a04a1c0cae03077578b)
【例3-22】 编写M脚本文件,分别使用for和while循环语句,编程计算sum=,当sum>2000时,终止程序,并输出i的值。
(1)for循环语句如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P148_29044.jpg?sign=1739578227-WxgEvk5QCQPe3kflbX4RZtu3TXZA2kTL-0-26de56a588a6fba6edf8785b969f7b3e)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P149_29045.jpg?sign=1739578227-MSdDnPZ21NENNFHOVw0PodvQHNDunBfT-0-2d575df4dbc7c21386701ec87df1376f)
(2)while循环语句如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P149_29046.jpg?sign=1739578227-kgLOJa9zWlhWX4QL4K9ZI09ANqPTpzo5-0-097468d48c4e1c34b43fda7b0deb2b7d)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P149_29047.jpg?sign=1739578227-ZlSaN2SHasAWZfpUHaxBjzF2TGz42uyJ-0-73fec77aa7076c9550e1717d4ff00c62)
【例3-23】 编写M函数文件,已知圆柱体的半径r和高h,求一个圆柱体的表面积S和体积V。并在命令窗口调用函数文件,求当r=2,h=3时,圆柱体的表面积S和体积V。
程序代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P149_29048.jpg?sign=1739578227-NXtJM4D28hYuIjN58VioYcfQwbUDHG3M-0-51e4cb95417b373e4104bbbe1b25b984)
在命令空间调用函数exam_3_23.m,结果为:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P149_29049.jpg?sign=1739578227-1ToGRElA16D3ggcl0e3AUoAlJ0Ns3MAg-0-ff6111e6c58f3f1e7f9d674e6c61f495)
【例3-24】 编写M函数文件,通过主函数调用3个子函数形式,计算下列式子,并输出计算之后的结果。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P150_29051.jpg?sign=1739578227-sq4gnvSIrocBXCpgHhiAA8uzpNvIoeeC-0-cbe8ecd87233e24631a6877fbbd9fc93)
程序代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P150_29052.jpg?sign=1739578227-cdJQnvdC0gHu86bwgn9i2n108twWDEcq-0-3bfcc72d22563603bd66482e55f6a78a)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P150_29053.jpg?sign=1739578227-RztE55FYJg6T5UQ6WrHGSEIYqa2QdbVd-0-cbc30080869483636198146c1e6d3e9e)
【例3-25】 编写输入和输出参数都是两个的M函数文件,当没有输入参数时,则输出为0;当输入参数只有一个时,输出参数等于这个输入参数;当输入参数为两个时,输出参数分别等于这两个输入参数。
程序代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P151_29054.jpg?sign=1739578227-ETEzM5VGUxje9VHjdTOPEJJdXc0CgKM4-0-e4df2a364cbb1fd8cabec5c16d43d93d)
程序运行结果:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P151_29055.jpg?sign=1739578227-hiDUGtQieOeRxz6IYDIsuQqoprA24PZK-0-7808a8f876e3f651a9335e5399b0db2b)