实验02 Matlab程序操作new

上传人:xins****2008 文档编号:110934991 上传时间:2019-11-01 格式:DOC 页数:10 大小:107KB
返回 下载 相关 举报
实验02 Matlab程序操作new_第1页
第1页 / 共10页
实验02 Matlab程序操作new_第2页
第2页 / 共10页
实验02 Matlab程序操作new_第3页
第3页 / 共10页
实验02 Matlab程序操作new_第4页
第4页 / 共10页
实验02 Matlab程序操作new_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《实验02 Matlab程序操作new》由会员分享,可在线阅读,更多相关《实验02 Matlab程序操作new(10页珍藏版)》请在金锄头文库上搜索。

1、贵州师范大学数学学院 数学实验实验02 Matlab程序设计实验目的: 1掌握脚本式M文件和函数式M文件的编写、调试和运行;2掌握从分析问题到算法设计再到程序实现的全过程。实验内容:1编写求200,300之间第一个能被21整除的整数的脚本式M文件,并给出运行的方法和结果。2编写用5次多项式拟合函数y=sin(x),x0,2的脚本式M文件,要求绘图观察拟合的效果。3编写求多项式P(x)=anxn+an-1xn-1+a1x+a0的值的函数式M文件(不能调用函数polyval),要求通过实例调试通过。4编写计算第n个Fibonnaci数的函数式M文件,并应用它求第15个Fibonnaci数。5按“题

2、目分析程序设计实现算法的程序实例应用”的步骤解决下面的问题。救援问题:假设洪水把一个村庄淹没了,只有那些比较高的房屋的屋顶露出水面,人们已经爬上屋顶等待求援。如右图,在图的原点是大本营,救生船每次从大本营出发,救了人之后将人送回大本营。图中的点代表屋顶,每个屋顶由其位置坐标和其上的人数表示。救生船每次从大本营出发,以速度50米/分钟驶向下一个屋顶,达到一个屋顶后,救下其上的所有人,每人上船1分钟,船原路返回,达到大本营,每人下船0.5分钟。假设原点与任意一个屋顶的连线不穿过其它屋顶。假设屋顶数为50,给定屋顶数以及每个屋顶的坐标和人数,求出所有人都到达大本营并登陆所用的时间。并输出所有屋顶的坐

3、标和人数。6按“题目分析程序设计算法描述实现算法的程序实例应用”的步骤解决下面的问题。奖金问题:过年了,村里要庆祝一下。村长对村里的128个村民说:做一个游戏,让每个人把出生年+月+日得到一个数。例如:1968年10月28日=1968+10+28=2006。然后把这个数报上来。村里有一笔钱要作为游戏的奖金,数额为M元。如果有人报上来的数字与M相同,就把这笔钱发给这些人。如果只有一个人得奖,奖金都归这个人。如果有多于一个人得奖,则他们平分这笔钱。请写一个程序算算都有哪些人得到了奖金?得到多少?实验仪器与软件: 1CPU主频在2GHz以上,内存在512Mb以上的PC;2Matlab 2010a及以

4、上版本。实验讲评:实验成绩: 评阅教师:2011年 月 日实验02 Matlab程序设计一、求200,300之间第一个能被21整除的整数的脚本式M文件脚本式M文件如下:clc clearfor n=100:200 %生成100到200之间的整数if rem(n,21)=0 %如果n不能被21整除continueendbreakendn 二、用5次多项式拟合函数y=sin(x),x0,2的脚本式M文件脚本式M文件如下:clcclear x=0:pi/20:2*pi;y=sin(x);p=polyfit(x,y,5)x1=0:pi/30:pi*2;y1=sin(x1);y2=polyval(p,x

5、1);plot(x1,y1,k-,x1,y2,mv)legend(原曲线,拟合曲线)三、求多项式P(x)=anxn+an-1xn-1+a1x+a0的值的函数式M文件函数式M文件程序如下:%求多项式p(x)=anxn+an-1xn-1+a1x+a0的值%n代表多项式的次数function y=polynomial(n,x)n=input(请依次输入多项式的次数n:) y=0; coe=zeros(1,n+1) for i=1:n+1 coe(i)=input(请依次输入多项式的系数:); enddisp(你输入的多项式如下:)poly2sym(coe)x=input(请输入多项式中x的值:) d

6、isp(多项式的值为:) for i=1:n+1 y=y+coe(i)*x(n+1-i);end函数式M文件已保存在可搜索途径范围内四、计算第n个Fibonnaci数的函数式M文件函数式M文件程序如下:function F=Fb(n)%计算第n个Fibonnaci数列%n表示下标F(1)=1;F(2)=1;for i=3:n F(i)=F(i-1)+F(i-2);endend函数式M文件已保存在可搜索途径范围内。五、救援问题的解决1题目分析根据题目分析可以把这个问题转化为一个简单的求和问题。可以单独计算出每个屋顶上的人到达大本营的时间,然后把所有时间相加即可。计算公式如下:totalTime=

7、 totalTime+2*(sqrt(roofx(i)2+roofy(i)2)/speen)+roofp(i)*(up+down) 其中,totalTime是要求的总时间,N是屋顶数(本题中为50),speed是船行驶的速度(本题中为50(米/分钟),roof(i)是第i个屋顶的坐标,roofp(i) 是第i个屋顶上的人数。因为要在计算后输出所有屋顶位置和人数,所以需要保存所有屋顶和人数信息。2程序设计 定义一个结构类型数组存放屋顶信息。 依次读入屋顶及其上的人数信息,并保存起来。 计算所需营救时间。 输出营救时间和所有屋顶坐标及人数。3实现算法的程序%救援问题%假设原点与任意一个屋顶的连线不

8、穿过其它屋顶。假设屋顶数为50%给定屋顶数以及每个屋顶的坐标和人数,求出所有人都到达大本营并登陆所用的时间。%并输出所有屋顶的坐标和人数。clearnum=50; %屋顶数speen=50; %船速(m/min) up=1; %上船时间down=0.5; %下船时间totalTime=0; %救援总时间disp(请依次输入屋顶横坐标:) roofx=zeros(1,num); %定义一个一维数组存放屋顶的横坐标for i=1:num roofx(i)=input(x(i):);enddisp(请依次输入屋顶纵坐标:)roofy=zeros(1,num); %定义一个一维数组存放屋顶的纵坐标fo

9、r i=1:num roofy(i)=input(y(i):);enddisp(请依次输入屋顶人数:)roofp=zeros(1,num); %定义一个一维数组存放屋顶人数for i=1:num roofp(i)=input(p(i):);enddisp(第i个屋顶坐标(x,y)和人数p(i)依次为:)for i=1:num %输出屋顶坐标及人数 fprintf(%g,%g)n,roofx(i),roofy(i) fprintf(%gn,roofp(i) fprintf(n)endfor i=1:num %计算总救援时间totalTime=totalTime+2*(sqrt(roofx(i)2

10、+roofy(i)2)/speen)+roofp(i)*(up+down);enddisp(总救援时间:) %输出救援时间totalTime4实例应用在上述程序中需要重复输入50个数据才能显示运行结果。太过繁琐。所以我们只计算3个屋顶的。令:num= 2; %屋顶数speen=5; %船速(m/min) 程序运行后,依次输入6个数:1、2、3、4、5、6程序运行结果如下:%救援问题%假设原点与任意一个屋顶的连线不穿过其它屋顶。假设屋顶数为50%给定屋顶数以及每个屋顶的坐标和人数,求出所有人都到达大本营并登陆所用的时间。%并输出所有屋顶的坐标和人数。clearnum=2; %屋顶数speen=5

11、; %船速(m/min) up=1; %上船时间down=0.5; %下船时间totalTime=0; %救援总时间disp(请依次输入屋顶横坐标:) roofx=zeros(1,num); %定义一个一维数组存放屋顶的横坐标for i=1:num roofx(i)=input(x(i):);enddisp(请依次输入屋顶纵坐标:)roofy=zeros(1,num); %定义一个一维数组存放屋顶的纵坐标for i=1:num roofy(i)=input(y(i):);enddisp(请依次输入屋顶人数:)roofp=zeros(1,num); %定义一个一维数组存放屋顶人数for i=1:

12、num roofp(i)=input(p(i):);enddisp(第i个屋顶坐标(x,y)和人数p(i)依次为:)for i=1:num %输出屋顶坐标及人数 fprintf(%g,%g)n,roofx(i),roofy(i) fprintf(%gn,roofp(i) fprintf(n)endfor i=1:num %计算总救援时间totalTime=totalTime+2*(sqrt(roofx(i)2+roofy(i)2)/speen)+roofp(i)*(up+down);enddisp(总救援时间:) %输出救援时间totalTime 六、奖金问题的解决1题目分析首先会想到想要把128个村民报的数字读进来,本题其实就是要求一边读一边判断这128个村民报的数字是否与M相同,如果相同就记下这个村民的

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

最新文档


当前位置:首页 > 大杂烩/其它

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