.范文.MATLAB与科学计算实验报告指导老师:易昆南实验时间:大二年级上学期学院:数学科学与计算技术学院专业班级:统计0902姓名:丁克明学号:1304090112-2-MATLAB作业目录1.学生成绩管理……………………………………32.函数极限问题……………………………………53.蛛网模型…………………………………………74.水塔模型…………………………………………105.混沌问题…………………………………………126.koch曲线…………………………………………147.拉格朗日与三次样条插值以及曲线拟合………178.解线性方程组……………………………………209.矩阵对角化………………………………………2310.矩阵标准化……………………………………...2411.摸球实验…………………………………………2612.钉板问题…………………………………………2613.火车问题…………………………………………28-3-MATLAB作业一、学生成绩管理学号1304090112班级统计0902姓名丁克明指导教师易昆南实验题目学生成绩管理程序评分1、设计(实习)目的:1结合实际问题展现MATLAB在生活和学习方面的广泛应用2学会利用MATLAB编程并求解实际问题3学会并运用for循环和switch结构,以及MATLAB中已有函数如sum4了解单元数组cell和结构数组struct的作用,学会创建这些数组.2、实验内容:编写一个学生成绩管理的函数程序:将学生成绩按五个等级划分:优秀(90以上),良好(80-90),中等(70-79),及格(60-69),不及格(60以下)对输入的学生成绩按五个等级划分后,打印学生姓名,得分,等级,并计算全班最高分、最低分、平均分。-4-MATLAB作业3、详细设计clearfori=1:10a{i}=89+i;b{i}=79+i;c{i}=69+i;d{i}=59+i;endc=[d,c];Name=input('pleaseinputname:');Score=input('pleaseinputscore:');n=length(Score);Rank=cell(1,n);S=struct('Name',Name,'Score',Score,'Rank',Rank);fori=1:nswitchS(i).Scorecase100S(i).Rank='满分';caseaS(i).Rank='优秀';casebS(i).Rank='良好';casecS(i).Rank='及格';casedS(i).Rank='不及格';endenddisp(['学生姓名','得分','等级']);fori=1:ndisp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]);ends=0;fori=1:ns=S(i).Score+s;endaverscore=s/n;t=S(1).Score;fori=1:(n-1)if(S(i).ScoreS(i+1).Score)t=S(i+1).Score;endend-5-MATLAB作业m=S(1).Score;fori=1:(n-1)if(S(i).ScoreS(i+1).Score)m=S(i+1).Score;endenddisp(['平均成绩']);disp([averscore]);disp(['最高分']);disp(t);disp(['最低分']);disp(m);4、实验结果:5、实验总结:这是我第一次接触matlab并运用matlab解决实际问题,在以前学习C++的时候,解决一个问题的代码会很繁琐。但相同的问题,在matlab中却变得很简单。这就是matlab的强大之处。运用它可以方便的解决许多实际问题。知道了这一点,我决心以后会认真的学习这样一门课程。同时,它也给我们枯燥的数学公式的学习带来了动手解决实际问题的机会。是将理论与实际相结合的方法。让我们更加体会到知识的力量是强大的,我们应该更好的掌握科学技术和相关理论知识,并能够将其运用于实际生活当中。在解决这个问题的时候也确实遇到了一些问题。比如如何输入符号数组和数值数组的问题,当时一直不理解。当通过查询资料,和同学讨论,最后明白了。输入符号时,符号要用单引号,而数据就不需要了。通过这样一次实践,我更加明白了动手的必要性。只有理论知识是远远不够的。所以以后一定要加强自己的动手能力,勤动手。-6-MATLAB作业二、函数极限问题学号1304090112班级统计0902姓名丁克明指导教师易昆南实验题目函数极限问题评分1、设计(实习)目的:1结合实际问题展现MATLAB在生活和学习方面的广泛应用2学会利用MATLAB编程并求解实际问题3学会并运用movie和moviein函数,以及plot结构。4理解getframe以及学会运用axis调节坐标抽2、实验内容:自选函数,运用plot进行绘图。并使用movie以及moviein,制作函数极限动画。3、详细设计clearm=moviein(16);holdonfori=1:50forj=1:it1=(j-1)*5;t2=j*5;t=t1:0.01:t2;axis([0,40,-1,1])%限制动画的坐标显示大小plot(t,0,'.r')plot(t,1./t,'.')endm(:,i)=getframe;endmovie(m,50)clearm=moviein(16)holdonfori=1:10forj=1:it1=(j-1)*pi/10;t2=j*pi/10;t=t1:0.01:t2;axis([0,5*pi/2,-1,1])%限制动画的坐标显示大小plot(pi-0.1,t,'.k')plot(pi-0.1,-t,'.k')plot(pi+0.1,-t,'.k')plot(pi+0.1,t,'.k')plot(t,0,'.r')plot(t,sin(t),'.')-7-MATLAB作业t1=(20-j)*pi/10;t2=(21-j)*pi/10;t=t1:0.01:t2;axis([0,5*pi/2,-1,1])%限制动画的坐标显示大小plot(t,0,'.r')plot(t,sin(t),'.')endm(:,i)=getframe;endmovie(m,50)4、实验结果:-8-MATLAB作业三、蛛网模型5、实验总结:使用matlab进行绘图觉得很有意思,简单的代码,却能绘出各种颜色的图形动画。在学习的过程中还是有很多的问题。还有很多方面的东西不够了解,只能边尝试边查询资料,让自己能够更了解,更明白。以便绘出更好的图形。学号1304090112班级统计0902姓名丁克明指导教师易昆南实验题目蛛网模型评分1、设计(实习)目的:1.学会运用Matlab解决实际问题2.进一步掌握Matlab的一些基本操作3.通过范例体会Matlab的初步建模过程4学会用做动画2、实验内容:已知前两年的猪肉的产量和猪肉的价格分别为:39吨,28吨,12元/公斤,17元/公斤,根据前一年的猪肉价格影响后一年猪肉产量当年猪肉产量影响当年猪肉价格的线性关系,编写程序,利用动画原理画出前十年猪肉的产量——价格的动态图形。(参数设置为,c1=39,c2=28,c3=36,r1=12,r2=17,k=16)。-9-MATLAB作业3、详细设计clear%c1为产量1,c2为产量2,c3为产量3,r1为%肉价1,r2为肉价2,k为K年后产量与肉价%是否稳定holdoffc1=39;c2=28;c3=36;r1=12;r2=17;k=16;a1=[c11;c21];%系数矩阵b1=[r1,r2]';%列向量a2=[r11;r21];b2=[c2,c3]';a=a1\b1;b=a2\b2;%x0(1)=c1;forn=1:30y0(n)=a(1)*x0(n)+a(2);%a(1)a(2)为矩阵元素的引用,下行类似x0(n+1)=b(1)*y0(n)+b(2);x(n)=x0(n);y(n)=x0(n+1);endplot(x,y0,'-g',y,y0,'-b')holdonm=moviein(100);-10-MATLAB作业forn=1:kforj=1:30t1=x0(n)+(j-1)*(x0(n+1)-x0(n))/30;t2=x0(n)+j*(x0(n+1)-x0(n))/30;ift2t1t=t1;t1=t2;t2=t;%这样做方便画图elseendt=t1:0.01:t2;plot(t,y0(n),'.r')%划横线t1=y0(n)+(j-1)*(y0(n+1)-y0(n))/30;t2=y0(n)+j*(y0(n+1)-y0(n))/30;ift2t1t=t1;t1=t2;t2=t;elseendt=t1:0.01:t2;plot(x(n+1),t,'.r')%划竖线-11-MATLAB作业endm(:,n)=getframe;endmovie(m,20)4、实验结果:ans=Columns1through639.000028.000036.000030.181834.413231.3358Columns7through1233.573931.946233.130032.269132.895232.4398Columns13through1832.771032.530232.705332.577932.670632.6032Columns19through2432.652232.616632.642532.623632.637432.6274Columns25through3032.634632.629432.633232.630432.632432.6310Column3132.63205、实验图像:3535.53636.53737.53838.53939.54066.26.46.66.877.27.47.67.88-12-MATLAB作业四、水塔模型6、实验总结:通过做此实验,让我对MATLAB有更进一步的了解,学会怎样才能正确运用MATLAB求解实际问题,了解如何利用数学模型去解释和分析社会经济问题,特别是这个典型经济问题的求解。我对MATLAB还不是特别熟悉,过程中遇到了很多问题,经过与同学讨论得到了良好的解决,希望以后会有进步。学号1304090112班级统计0902姓名丁克明指导教师易昆南实验题目水塔问题评分1、设计(实习)目的:1掌握用MATLAB来求最值2学会在一个闭区间求最值3学会解决实际问题。2、实验内容:水塔问题:在地面上建有一座圆柱形水塔,水塔内部的直径为d,并且在地面处开了一个高为H的小门.现在要对水塔内部进行维修施工,施工方案要求把一根长为l(ld)的水管运到水塔内部.请问水塔的门高H多高时,才有可能成功地把水管搬进水塔内?3、详细设计一:Clearfunctionx=lt523(l,d,h)k1=0;a=0l=7;d=3ymax=0;k2=0;b=pi/2;h=3;while(b-a)10^(-2)k2=k2+1;m=0;a=0;ifk1==0n=ceil(b/h)-1elsen=ceil(b/h);endfori=1:n+1;-13-MATLAB作业x(i)=a+(i-1)*(b-a)/n;y(i)=l*sin(x(i))-d*tan(x(i));endfori=1:nify(i)ymaxymax=y(i);a=x(i-1);elsey(i)ymaxb=x(i);endendm=m+1;k1=k1+1;h=(b-a)/5;endabx=(a+b)/2t=0:0.01:1.35y1=l*sin(t)-d*tan(t);plot(t,y1,'-b')方法:2symshxh=8*sin(x)-2*tan(x);d1=0;d2=pi/2;d0=(d1+d2)/2;d=0.03;a=subs(h,x,d1);b=subs(h,x,d2);c=subs(