m文件程序设计
- 格式:doc
- 大小:42.50 KB
- 文档页数:3
实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。
二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。
(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。
有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。
MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。
(2)函数文件——它的第一行必须是函数定义行。
M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。
但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。
例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。
m⽂件程序设计⼀、实验⽬的1. 通过练习理解matlab编程⽅法;2. 掌握分⽀结构程序设计思路;3. 掌握循环结构程序设计思路。
⼆、实验环境1. 计算机2. matlab7.x三、实验说明1. 熟悉matlab7.x运⾏环境,正确操作,认真观察;2. 实验学时:2学时;3. 学会使⽤help;4. 编写程序前先写出程序的流程图框架;5. ⾃主编写调试程序直到正确为⽌,必要时参考相关资料,;6. 保存整理实验结果,提交实验报告。
四、实验内容1. 输⼊⼀个百分制成绩,要求输出成绩等级为:A、B、C、D、E,其中90-100为A;80-89为B;70-79为C;60-69为D;60以下为E1)⽤if或switch语句实现;2)输⼊百分制成绩后要判断成绩的合理性,对不合理的成绩要输出出错信息提⽰,⽐如:输⼊成绩不能⼤于100。
3)程序保存名为sy3加上本⼈学号2.某公司员⼯的⼯资计算⽅法如下:(1)⼯作时数超过120⼩时者,超过部分加发15%;(2)⼯作时数低于60⼩时者,扣发700元;(3)其余按每⼩时84元计发。
编程按输⼊的⼯号和该员⼯的⼯时数,计算应发⼯资。
3. 根据求的近似值。
当n分别取100、1000、10000时,结果是多少?要求:分别⽤循环结构和向量运算(使⽤sum函数)来实现。
五、实验程序及结果1、程序:m=input('请输⼊⼀个数值:');n=floor(m/10);switch ncase 9disp('A');case 8disp('B');case 7disp('C');case 6disp('D');case {1,2,3,4,5}disp('E');otherwisedisp('输⼊错误!');end2、程序:x=input('请输⼊⼯号:');y=input('请输⼊⼯作时:');if y>120a=84*120+(y-120)*84*0.15;disp(['本⽉⼯资为:',num2str(a)]); elseif y<60b=84*y-700;disp(['本⽉⼯资为:',num2str(b)]); elsec=84*y;disp(['本⽉⼯资为:',num2str(c)]); end3、程序:y=0;n=input('输⼊⼀个数:');for i=1:ny=y+1/i/i;enda=sqrt(6*y);disp(['圆周率近似值为:',num2str(a)]);。
第二讲MATLAB的程序设计和M文件在MATLAB中,程序设计主要是通过编写和运行M文件来实现。
M文件是MATLAB的主要代码文件,用于实现不同功能的程序,可以包含变量定义、算法实现、函数调用和图形绘制等。
下面将介绍MATLAB的程序设计和M文件的基本知识。
MATLAB的程序设计主要包括如下几个方面:1.变量和数据类型:在M文件中,可以使用不同的变量类型存储数据,如整型、浮点型、字符型等。
不同的变量类型在MATLAB中有不同的表示方法和功能。
2.运算和表达式:在M文件中,可以使用常见的数学运算符(如加减乘除、指数等)进行计算。
同时,也可以使用逻辑运算符(如与、或、非等)进行逻辑运算。
3. 条件语句:在M文件中,可以使用条件语句实现根据不同的条件执行不同的操作。
MATLAB中的条件语句主要有if语句和switch语句,通过判断条件的真假来决定执行路径。
4. 循环语句:在M文件中,可以使用循环语句实现对一段代码的重复执行。
MATLAB中的循环语句主要有for循环、while循环和do-while循环。
5.函数的定义和调用:在M文件中,可以通过定义函数来实现特定功能的封装。
函数可以包含输入参数和输出参数,通过参数的传递来实现数据的交互和函数的调用。
1.M文件的命名和保存:M文件的命名应该具有描述性,以体现文件中代码的功能。
M文件的保存格式是以.m为文件扩展名。
2.M文件的结构:在M文件中,一般会包含变量定义、函数定义和主程序等部分。
变量定义部分用于声明和初始化变量,函数定义部分用于定义自定义函数,而主程序部分用于调用函数和执行主要功能。
3.代码注释:为了提高代码的可读性和可维护性,需要在M文件中添加注释。
注释可以用于解释代码的目的和思路,以及描述变量、函数和算法等的作用和实现方法。
4.代码风格:为了代码的一致性和可读性,需要遵循一定的代码风格规范。
例如,可以在操作符周围留有空格,使用一致的缩进和命名规则,避免使用不必要的缩写等。
一、实验目的1.练习函数的定义和书写及调用2.练习M文件下书写代码二、实验设备装有MATLAB的计算机。
三、实验内容1,分别编写命令(M)文件和函数(function)文件,在命令文件中可循环输入学生成绩,在函数文件判断成绩所属等级。
统计各分段的人数,并将各人的成绩按优、良、中、及格和不及格表示。
2.猜数游戏。
首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。
根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”并请用户继续猜测,小于则显示“Low”并请用户继续猜测,等于则显示“You won”同时退出游戏。
用户最多可以猜7次。
如果第七次还未猜对,则显示“You fail!"并退出游戏。
四、实验步骤和结果1. 代码结果:输入正数开始5请输入学生成绩x=89请输入学生姓名l请输入学生成绩x=78请输入学生姓名h请输入学生成绩x=45请输入学生姓名k请输入学生成绩x=-1ans =优秀的人数0ans =良好的人数1ans =中等的人数1ans =及格的人数0ans =不及格的人数1姓名成绩等级l 89 良好h 78 中等k 45 不及格2.代码五、总结1.实验练习了函数的创建和使用,并且在M的文件中调用函数。
2.复习了单元数组和结构数组的知识。
3. 使用了字符串比较函数,在M文件中对各个等级的人数进行了统计。
4.猜数游戏中开始的代码,当第七次猜对后会输出”You Fail”,后对代码进行了改进。
实验3. m文件程序设计
一、实验目的
1.通过练习理解matlab编程方法;
2.掌握分支结构程序设计思路;
3.掌握循环结构程序设计思路。
二、实验环境
1.计算机
2.matlab软件
三、实验说明
1.熟悉matlab运行环境,正确操作,认真观察;
2.实验学时:2学时;
3.学会使用help;
4.编写程序前先写出程序的流程图框架;
5.自主编写调试程序直到正确为止,必要时参考相关资料,;
6.保存整理实验结果,提交实验报告。
四、实验内容
1. 输入一个百分制成绩,要求输出成绩等级为:A、B、C、D、E,其中90-100
为A;80-89为B;70-79为C;60-69为D;60以下为E
1)用if或switch语句实现;
程序设计如下
c=input('请输入成绩:');
if c>=90
disp('A');
elseif c>=80
disp('B');
elseif c>=70
disp('C');
elseif c>=60
disp('D');
else disp('E');
end
2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩要输出出错信
息提示,比如:输入成绩不能大于100。
程序设计如下:
c=input('请输入成绩:');
if c>100|c<0
disp('成绩不合理');
elseif c>=90
disp('A');
elseif c>=80
disp('B');
elseif c>=70
disp('C');
elseif c>=60
disp('D');
else disp('E');
end
3)程序保存名为sy3加上本人学
2. 某公司员工的工资计算方法如下:
(1)工作时数超过130小时者,超过部分加发15%;
(2)工作时数低于50小时者,扣发700元;
(3)其余按每小时84元计发。
编程按输入的工号和该员工的工时数,计算应发工资。
程序设计如下:
a=input('输入员工工号:')
b=input('输入员工工时数:')
if b>130
c=(b-130)*84*1.15+130*84;
elseif b>=50
c=84*b;
else c=b*84-700;
end
c
3. 根据, 1312111622222
n
++++= π求π的近似值。
当n 分别取100、1000、 10000 时,结果是多少?
要求:分别用循环结构和向量运算(使用sum 函数)来实现。
备注: 实验需要的函数input ,disp
程序设计如下
n=input('ÇëÊäÈën£º');
y=0;
for i=1:n
y=y+1/i/i;
pi=sqrt(6*y);
end
pi
运行结果
n=100时,pi=3.1321
n=1000时,pi=3.1406
n=10000时,pi=3.1415。