"MATLAB程序设计与调试实训-实验报告"

需积分: 3 0 下载量 193 浏览量 更新于2024-01-18 收藏 1.51MB DOC 举报
《程序设计和M文件实训》-实验报告 在第五章《程序设计和M文件实训》中,我们进行了一项实验来熟悉M函数文件的编写和主函数与子函数的调用,以及通过M文件编辑/调试窗口来调试程序的方法。 实验目的: 1. 熟练掌握M函数文件的编写。 2. 熟练掌握主函数与子函数的调用。 3. 熟练运用M文件编辑/调试窗口中的调试程序方法。 实验内容: 1. 打开M文件编辑/调试器窗口: MATLAB的M文件是通过M文件编辑窗口(Editor)来创建的。我们可以点击MATLAB工具栏上的圆形图标(New Script),或者点击工具栏上的(New)→“Script”,来新建一个空白的M文件编辑器窗口。该窗口包含以下要素: - 左边框是行号,在程序出错时可以根据出错提示中的行号查找出错语句。 - 左边框的“-”处可以设置断点,有“-”的行都可以设置断点。我们可以单击“-”来设置断点,单击鼠标右键也可以设置条件断点。 - 右边框是程序的提示,在鼠标放置在其上时,可以看到相应的提示和警告信息。这些信息以红色、黄色或绿色进行标记,红色表示警告或出错。如果显示为绿色,则表示无警告和出错。 2. 编写M函数文件: 我们需要编写一个程序来判断输入参数是否是“水仙花数”。所谓“水仙花数”是一个三位数,各位数的立方和等于该数本身。如果是“水仙花数”,则函数输出;否则,不做任何输出。 在M文件编辑器窗口中,我们可以编写以下代码来实现这个功能: ``` function isNarcissusNumber(num) hundreds = floor(num/100); tens = floor(mod(num, 100)/10); units = mod(num, 10); if (hundreds^3 + tens^3 + units^3 == num) disp("是水仙花数!"); end end ``` 该代码定义了一个名为`isNarcissusNumber`的函数,该函数接受一个参数`num`作为输入。在函数中,我们首先将百位、十位和个位进行提取,然后判断立方和是否等于原数。如果等于,则输出"是水仙花数!"。 接下来,我们可以通过以下代码来调用这个函数并测试是否能正确判断“水仙花数”: ``` num1 = 153; num2 = 123; num3 = 370; isNarcissusNumber(num1); isNarcissusNumber(num2); isNarcissusNumber(num3); ``` 在M文件编辑器窗口中,我们可以逐行执行这些代码,并观察输出结果来验证程序的正确性。 通过这个实验,我们可以熟练掌握M函数文件的编写和主函数与子函数的调用。同时,我们也学会了使用M文件编辑/调试窗口来调试程序,这将在后续的实验和实际应用中大大提高我们的编程效率和准确性。 总结: 本次实验通过编写M函数文件和调用函数来判断输入参数是否是“水仙花数”,并通过M文件编辑/调试窗口进行调试。这个实验使我们更加熟悉了M文件的编写和函数调用的方法,同时也掌握了通过调试窗口来发现和解决程序错误的技巧。这些技能将对我们今后的编程和实际应用中起到重要的作用。