文档详情

MATLAB综合性实验报告7.doc

发布:2017-02-05约2.57千字共5页下载文档
文本预览下载声明
实验目的: 1.结合实际问题展现MATLAB在生活和学习方面的广泛应用; 2.学会利用MATLAB编程并求解实际问题; 3.学会并运用for循环和switch结构,以及MATLAB中已有函数,如sum; 4.了解单元数组cell和结构数组struct的作用,学会创建这些数组。 二、实验仪器、设备或软件: 电脑、MATLAB软件 三、实验内容: 1、编写一个学生成绩管理的函数程序:将学生成绩按五个等级划分:优秀(90以上),良好(80-90),中等(70-79),及格(60-69),不及格(60以下)对输入的学生成绩按五个等级划分后,打印学生姓名,得分,等级,并计算全班最高分、最低分、平均分。 2、自选函数,运用plot进行绘图。并使用movie以及moviein,制作函数极限动画。 四、实验记录: 1、学生成绩管理程序 实验代码: clear for i=1:10 a{i}=89+i; b{i}=79+i; c{i}=69+i; d{i}=59+i; end c=[d,c]; Name=input(please input name:); Score=input(please input score:); n=length(Score); Rank=cell(1,n); S=struct(Name,Name,Score,Score,Rank,Rank); for i=1:n switch S(i).Score case 100 S(i).Rank=满分; case a S(i).Rank=优秀; case b S(i).Rank=良好; case c S(i).Rank=及格; case d S(i).Rank=不及格; end end disp([学生姓名 ,得分 ,等级]); for i=1:n disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]); end s=0; for i=1:n s=S(i).Score+s; end averscore=s/n; t=S(1).Score; for i=1:(n-1) if(S(i).ScoreS(i+1).Score) t=S(i+1).Score; end end m=S(1).Score; for i=1:(n-1) if(S(i).ScoreS(i+1).Score) m=S(i+1).Score; end end disp([平均成绩]); disp([averscore]); disp([最高分]); disp(t); disp([最低分]); disp(m); 实验运行结果: 实验总结: 这是我第一次接触matlab并运用matlab解决实际问题,在以前学习C++的时候,解决一个问题的代码会很繁琐。但相同的问题,在matlab中却变得很简单。这就是matlab的强大之处。运用它可以方便的解决许多实际问题。 知道了这一点,我决心以后会认真的学习这样一门课程。同时,它也给我们枯燥的数学公式的学习带来了动手解决实际问题的机会。是将理论与实际相结合的方法。让我们更加体会到知识的力量是强大的,我们应该更好的掌握科学技术和相关理论知识,并能够将其运用于实际生活当中。 在解决这个问题的时候也确实遇到了一些问题。比如如何输入符号数组和数值数组的问题,当时一直不理解。当通过查询资料,和同学讨论,最后明白了。输入符号时,符号要用单引号,而数据就不需要了。 通过这样一次实践,我更加明白了动手的必要性。只有理论知识是远远不够的。所以以后一定要加强自己的动手能力,勤动手。 2、函数极限问题 实验代码: clear m=moviein(16); hold on for i=1:50 for j=1:i t1=(j-1)*5; t2=j*5; t=t1:0.01:t2; axis([0,40,-1,1])%限制动画的坐标显示大小 plot(t,0,.r) plot(t,1./t,.) end m(:,i)=getframe; end movie(m,50) clear m=moviein(16) hold on for i=1:10 for j=1:i t1=(j-1)
显示全部
相似文档