实验三MATLAB的程序设计

上传人:博****1 文档编号:487373839 上传时间:2023-02-02 格式:DOC 页数:15 大小:196.01KB
返回 下载 相关 举报
实验三MATLAB的程序设计_第1页
第1页 / 共15页
实验三MATLAB的程序设计_第2页
第2页 / 共15页
实验三MATLAB的程序设计_第3页
第3页 / 共15页
实验三MATLAB的程序设计_第4页
第4页 / 共15页
实验三MATLAB的程序设计_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《实验三MATLAB的程序设计》由会员分享,可在线阅读,更多相关《实验三MATLAB的程序设计(15页珍藏版)》请在金锄头文库上搜索。

1、桂林电子科技大学 数学与计算科学学院实验报告院(系)数学与计算科学学号姓名成绩课程名称数学应用软件实验实验项目名 称实验三 MATLAB的程序设计一 ,实验目的1. 掌握建立与编辑函数文件和脚本文件的方法;2. 掌握MATLAB编程语言的基本控制语句;3. 掌握MATLAB程序的调试。二,实验原理MATLAB有三种基本程序结构:顺序、选择和循环。主要的语句有if语句、switch语句、for循环语句和while循环。1. 选择结构 (1) if语句: if 条件表达式 执行语句 elseif 条件表达式 执行语句 end (2) switch语句 switch 表达式 case 表达式 执行语

2、句 case 表达式 执行语句 . otherwise 执行语句 end2. 循环结构 (1) for 循环 for 循环变量 = 表达式 执行语句 end 其中表达式是一个矩阵,矩阵的列被一个一个的赋给循环变量,然后执行循环体内的语句。 (2) while 循环 while 条件表达式 执行语句 End3. 其它流程控制函数continue:continue 语句通常用在循环控制中,包括 for 循环和 while 循环,用于结束当次循环,继续执行下一次循环,但是不结束当前循环。一般 continue 语句与 if 语句相结合,当满足一定的条件时,执行 continue 语句。break:与

3、 continue 相同的是,break 函数也是用于循环控制,中断当前循环。与 continue 不同,break 跳出当前循环,不再执行该循环的任何操作。return:结束该程序的执行,返回到调用函数或者键盘。4. 创建M文件 M文件以 .m 为扩展名,它有两种形式:脚本文件和函数文件。 (1) 脚本文件的创建 进入MATLAB命令窗口后,选择“File”下拉菜单中的“new”选择“M-file”,或在MATLAB命令窗口输入“edit M文件名”,或点击工具栏中的“新建”按钮。在M文件编辑窗口中,写入符合语法规则的。编写完命令文件后,选择“file”下拉式菜单中的“save”项,然后依提

4、示输入一个文件名。至此,完成了脚本文件的创建。 (2) 函数文件的创建 函数文件的创建与脚本文件的创建方法完全一样,只是在函数文件的第一句可执行语句必须是function引导的定义语句,并且输入文件名时要与定义语句中的函数名相同。 (3) 脚本文件与函数文件的调用 创建了脚本文件后,只在命令窗口键入脚本文件名,再按回车键,就可以执行脚本文件中所包含的所有命令。 函数文件一旦创建,就可以与其它的MATLAB函数一样调用了。 5. 程序的调试在程序调试时,程序运行中变量的值为一个重要的线索。因此,查看变量值为程序调试的重要线索,由于在函数调用时只返回最后的输出参数,而不返回中间变量,因此,可以选择

5、下面的方法查看程序运行中的变量值。(1)通过分析后,将可能出错的语句后面的分号(;)删除,将结果显示在命令窗口中,与预期值进行比较;(2)利用函数 disp 显示中间变量的值;(3)在程序中的适当位置添加 keyboard 指令。当 MATLAB 执行至此处时将暂停,等待用户反应。当程序运行至此时将暂停,在命令窗口中显示 k提示符,用户可以查看工作区中的变量,可以改变变量的值。输入 return 指定返回程序,继续运行。(4)在调试一个单独的函数时,可以将函数改写为脚本文件,此时可以直接对输入参数赋值,然后以脚本方式运行该 M 文件,这样可以保存中间变量,在运行完成后,可以查看中间变量的值,对

6、结果进行分析,查找错误所在。三,实验内容1. 分别用脚本文件和函数文件实现以下功能:输入参数,画出函数的图像;2. 编程实现:输入的值,计算函数的函数值,其中,并计算3. 编写一个函数mylog(n,x)来计算实数x的对数,其中,当n取10,计算以10为底的对数;当n取2时,计算以2为底的对数,当n取3时,计算以自然底数为底的对数,当n取其它数时候,用换底公式进行计算。4. 编程实现求和: 5. 计算和式,当和大于1000时,退出;6. 计算组合数,用递归实现;7, 计算以下和式,并估计其求和公式以及验证: 8,估计以下级数的和,并编程验证。 9,画一个国际象棋的棋盘;10,给个人编上号:,按

7、顺序围成一个圈坐好,从号开始报数,报到的人退出,下一个人再从开始往下报数,重复这个过程,请问最后剩下的那个人的号数是多少?请编程实现,并取进行验证;11,求出之间的所有素数;12,求出所有的水仙花数(所谓水仙花数,是满足以下条件的三位数:各位数的立方之和等于它本身,例如,);13,将一个正整数进行质因数分解,例如:;14,求两个正整数的最小公倍数和最大公因数;15,有一个已排好序的数组,现在输入一个数,请按照原来的规律将此数插入到数组中;16,将一个数组逆序输出;四,实验结果分析或总结1. 分别用脚本文件和函数文件实现以下功能:输入参数,画出函数的图像;(1)M脚本文件:a=input(a=)

8、;b=input(b=);c=input(c=);x=-5:5/1000:5;y=a.*x.2+b.*x+c;plot(x,y)结果输入: lx11a=1b=1c=1 图像:(2)M函数文件:function lx12(a,b,c)x=-5:5/1000:5;y=a.*x.2+b.*x+c;plot(x,y)运行函数:lx12(1,1,1)图像:2. 编程实现:输入的值,计算函数的函数值,其中,并计算M函数文件:function y =f(x)if x0 y=x+1;elseif x f(-0.7)ans = 0.3000 f(0.5)ans = 1 f(1.5)y = 2.2500ans =

9、 2.25003. 编写一个函数mylog(n,x)来计算实数x的对数,其中,当n取10,计算以10为底的对数;当n取2时,计算以2为底的对数,当n取3时,计算以自然底数为底的对数,当n取其它数时候,用换底公式进行计算。M函数文件function y = mylog(n,x)if n=10 y=log10(x);elseif n=2 y=log2(x);elseif n=3 y=log(x);else y=log(x)/log(n);end结果: mylog(10,5)ans = 0.6990 mylog(2,5)ans = 2.3219 mylog(4,6)ans = 1.29254. 编程

10、实现求和: (1)M函数文件:function Y=s(n)Y=0;for i=1:n Y=Y+(-1)(i+1)*i;end结果测试: s(4)ans =-2(2)function Y=s(n)Y=0;for i=1:n Y=Y+(-1)(i+1)*(1/i);end结果测试: s(4)ans = 0.58335. 计算和式,当和大于1000时,退出;function Y=s(n)Y=0;a=1;for i=1:n a=a*i; Y=Y+a; if Y1000 disp(S(n)1000,) break; endend程序测试: s(5)ans = 153 s(100)S(n)1000,退出

11、循环ans = 59136. 计算组合数,用递归实现;M函数文件:function Y = c(k,n)if k0 | nn error(kn,put in again!);endif k=0 Y=1;elseif k=1&n=1 Y=1;elseif k c(0,0)ans = 1 c(0,1)ans = 1 c(3,4)ans = 47, 计算以下和式,并估计其求和公式以及验证: function Y=s(n)Y=0;for k=1:n Y=Y+k;end测试: s(3)ans = 6 function Y=s(n)Y=0;for k=1:n Y=Y+k2;end测试: s(3)ans =

12、 14function Y=s(n)Y=0;for k=1:n Y=Y+k3;end测试: s(2)ans = 98,估计以下级数的和,并编程验证。 程序:a=1;S=0;for k=1:100000 a=a*k; S=S+1/a;enddisp(S);验证: s 1.7183 程序:S=0;for k=1:100000 S=S+1/(k*(k+1);enddisp(S);检验: s 1.0000 程序:S=0;for k=1:100000 S=S+(-1)(k+1)/(2*k-1);enddisp(S);检验: s 0.78549,画一个国际象棋的棋盘;10,给个人编上号:,按顺序围成一个圈坐好,从号开始报数,报到的人退出,下一个人再从开始往下报数,重复这个过程,请问最后剩下的那个人的号数是多少?请编程实现,并取进行验证;M函数文件: function x,y=Joseph0(N,M)a=1:N;t=1;k=1;while tl,k=size(a);if length(a)=1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号