资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
本文格式为Word版,下载可任意编辑MATLAB中程序设计范文 MATLAB 中的程序设计 学 生 姓 名 学 号 成 绩 同学所在学院 班级/ / 专业/ / 班 课 程 名 称 课 程 代 码 试验项目名称 试验 六和试验七 : MATLAB中的程序设计 项 目 代 码 指 导 教 师 项 目 学 分 一、试验目的 1、熟识和把握函数调用和参数传递。 2、把握 MATLAB 中 M 文件的功能、特点和形式。 3、把握 MATLAB 中程序结构和程序流掌握。 4、把握 MATLAB 中字符和字符串的使用。 二、 试验原理 1、函数文件 函数文件的基本结构: 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 解释说明部分 函数体语句 说明: (1)关于函数文件名: 函数文件名与函数名也可以不相同。当两者不同时,MATLAB 将忽视函数名而确认函数文件名,因此调用时使用函数文件名。 (2)关于解释说明部分。解释说明包括三部分内容:紧随函数文件引导行之后以%开头的第一解释行。第一解释行及之后连续的解释行。与在线关心文本相隔一空行的解释行。 (3)关于 return 语句。执行到该语句就结束函数的执行,程序流程转至调用该函数的位置。通常,在函数文件中也可不使用 return 语句,这时在被调函数执行完成后自动返回。 2、函数调用 函数调用的一般格式是: 输出实参表=函数名(输入实参表) M 文件有命令文件和函数文件两种,扩展名均为.m。运行一个命令文件等价于从指令窗口中按挨次连续运行文件中的指令。每个函数文件都定义一个函数,其第一行包含 function。 MATLAB 中循环结果由 while 和 for 语句实现,分支结构由 if 语句实现。其结构和 C 语言中对应语句类似。 MATLAB中有关程序流掌握的语句和函数有echo、input、pause、break、keyoard 等,试验中要用到的指令为 input 函数,该指令提示用户从键盘输入数值、字符串或表达式,并接受输入。 MATLAB 中全部字符串都要用单引号界定后输入或赋值,字符串的每个字符都是矩阵的一个元素。用 eval 指令可以运行字符串。 MATLAB 中调用函数的常用形式是:输出参数 1,输出参数 2,=函数名(输入参数 1,输入参数 2,)。留意函数调用时各参数消失的挨次,应当和函数定义时的挨次一样。 三、 试验设备、仪器及材料 高性能计算机,MATLAB 软件。 四、试验步骤 (根据实际操作过程 ) 1、建立一个命令文件将变量 a,b 的值互换,然后运行该命令文件。其中,a 为 110, 。 2、编写 M 脚本文件,计算函数 的值,其中 t 的范围为 ,步长取 。 3、编写 M 函数文件求半径为 r 的圆的面积和周长,并调用该函数文件求 r=5 的圆的面积和周长。 11 12 13 1415 16 17 18b = 2 21 5 sin(4 ), 2 5 cos(4 )t ty e t y e t- -= =0,2 p 0.05 p 4、编写 M 函数文件,利用函数的递归调用求 n!并调用该函数文件求6!。 5、编写 M 文件,分别用 while 语句、for 语句求 1+2+3+4+100。 6、 编写子函数分别求当 大于 0,等于 0 和小于 0 时,方程的根。从主函数中用 input 指令输入 a、b、c 值,求相应方程的根。 7、分别用 M 脚本文件和 M 函数文件绘制如下二阶系统的时域曲线: ,其中 取 0.3。 8、编写 M 文件,在同一个图形窗口中分别绘制函数 、 的图形,x 从 0 到 5。 五 、 试验过程记录( ( 数据、图表、计算等) ) 1 1 、先编写 m exchang.m 文件 clear; a=1:10; b=11 12 13 14 15 16 17 18; c=a; a=b; b=c; 再编写 m iexchang.m 文件 function a,b=exchang(a,b) c=a; a=b; b=c; 调用函数 clear; ac b 42-02= + + c bx ax2211 sin( 1 arccos )1xy e xzz zz-= - - +-z2) sin( ) ( x x f =5) cos( ) ( x x f =5 2) cos( ) sin( ) ( x x x f + = x=1:10; y=11 12 13 14 15 16 17 18; x,y=iexchang(x,y) 结果为 : x = 11 12 13 14 15 16 17 18 y = 1 2 3 4 5 6 7 8 9 10 2 2 、 编写 m sy2.m 文件 t=0:0.05*pi:2*pi; y1=5*exp(-2*t).*sin(4*t); y2=5*exp(-2*t).*cos(4*t); 调用 m sy2.m 文件 sy2.m 结果为 : y1 = 1 至 14 列 0 2.1466 2.5369 1.8529 0.8364 0.0000 -0.4462 -0.5274 -0.3852 -0.1739 -0.0000 0.0928 0.1096 0.0801 15 至 28 列 0.0361 0.0000 -0.0193 -0.0228 -0.0166 -0.0075 -0.0000 0.0040 0.0047 0.0035 0.0016 0.0000 -0.0008 -0.0010 29 至 41 列 -0.0007 -0.0003 -0.0000 0.0002 0.0002 0.0001 0.0001 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 y2 = 1 至 14 列 5.0000 2.9545 0.8243 -0.6021 -1.1513 -1.0394 -0.6142 -0.1714 0.1252 0.2393 0.2161 0.1277 0.0356 -0.0260 15 至 28 列 -0.0498 -0.0449 -0.0265 -0.0074 0.0054 0.0103 0.0093 0.0055 0.0015 -0.0011 -0.0021 -0.0019 -0.0011 -0.0003 29 至 41 列 0.0002 0.0004 0.0004 0.0002 0.0001 -0.0000 -0.0001 -0.0001 -0.0000 -0.0000 0.0000 0.0000 0.0000 3 3 、编写 m sy3.m 文件 function s,c=sy3(r) s=pi*r2; c=2*pi*r; 调用 m sy3.m 文件 r=5; s,c=sy3(r) 结果为: s = 78.5398 c = 31.4159 4 4 、 编写 m sy4.m 文件 function f=sy4(n) if n=1 f=1; else f=sy4(n-1)*n; end 调用 n=6; f=sy4(n) 结果为: f = 720 5 5 、 编写 m sy5.m 文件 sum=0; i=1; while i=100 sum=sum+i i=i+1 end sum; 结果为 : sum = 5050 6 6 、 7 7 、M M 函数文件 x=0:0.1:20; zeta=0; y=1-exp(-zeta*x).*sin(sqrt(1-zeta2)*x+acos(zeta)/sqrt(1-zeta2); plot(x,y) 编写 M M 脚本文件 m sy7_1.m 并存盘 function f=sy7(x) zeta=0; y=1-exp(-zeta*x).*sin(sqrt(1-zeta2)*x+acos(zeta)/sqrt(1-zeta2); plot(x,y) 调用 x=0:0.1:20; f=sy7_1(x) 结果为: 8 8 、 x=0:0.2:5*pi; y1=sin(x.2); plot(x,y1) hold on y2=cos(x.5); plot(x,y2,r) hold on y3=sin(x.2)+cos(x.5); plot(x,y3,y) 六 、 试验 结果分析 及 问题争论 命令文件和函数文件有什么区分? 第 1 页 共 1 页
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号