Matlab数学实验报告_第1页
Matlab数学实验报告_第2页
Matlab数学实验报告_第3页
Matlab数学实验报告_第4页
Matlab数学实验报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB与科学计算实验报告指导老师: 易 昆 南 实验时间: 大二年级上学期 学 院:数学科学与计算技术学院专业班级: 统计0902 姓 名: 丁 克 明 学 号: 目录1.学生成绩管理32.函数极限问题53.蛛网模型74.水塔模型105.混沌问题126.koch曲线147.拉格朗日与三次样条插值以及曲线拟合178.解线性方程组209.矩阵对角化2310.矩阵标准化.2411.摸球实验2612.钉板问题2613.火车问题28一、学生成绩管理学号 班级统计0902姓名丁克明指导教师易昆南实验题目学生成绩管理程序评 分1、设计(实习)目的: 1结合实际问题展现MATLAB在生活和学习方面的广泛

2、应用 2学会利用MATLAB编程并求解实际问题3学会并运用for循环和switch 结构,以及MATLAB中已有函数如sum 4了解单元数组cell和结构数组struct的作用,学会创建这些数组.2、实验内容:编写一个学生成绩管理的函数程序:将学生成绩按五个等级划分:优秀(90以上),良好(80-90),中等(70-79),及格(60-69),不及格(60以下)对输入的学生成绩按五个等级划分后,打印学生姓名,得分,等级,并计算全班最高分、最低分、平均分。3、详细设计clearfor i=1:10 ai=89+i; bi=79+i; ci=69+i; di=59+i;endc=d,c;Name=

3、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=不及格; endenddisp(学生姓名 ,得分 ,等级);for i=1

4、: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) m=S(i+1).Score; end enddisp(平均成绩); disp(averscore); disp(最高分); disp(t);disp(最低分); disp(m);4、实验结果:5、实验总结:这是我第一次接触matlab并运用m

5、atlab解决实际问题,在以前学习C+的时候,解决一个问题的代码会很繁琐。但相同的问题,在matlab中却变得很简单。这就是matlab的强大之处。运用它可以方便的解决许多实际问题。知道了这一点,我决心以后会认真的学习这样一门课程。同时,它也给我们枯燥的数学公式的学习带来了动手解决实际问题的机会。是将理论与实际相结合的方法。让我们更加体会到知识的力量是强大的,我们应该更好的掌握科学技术和相关理论知识,并能够将其运用于实际生活当中。在解决这个问题的时候也确实遇到了一些问题。比如如何输入符号数组和数值数组的问题,当时一直不理解。当通过查询资料,和同学讨论,最后明白了。输入符号时,符号要用单引号,而

6、数据就不需要了。通过这样一次实践,我更加明白了动手的必要性。只有理论知识是远远不够的。所以以后一定要加强自己的动手能力,勤动手。二、函数极限问题学号 班级统计0902姓名丁克明指导教师易昆南实验题目函数极限问题评 分1、设计(实习)目的: 1结合实际问题展现MATLAB在生活和学习方面的广泛应用 2学会利用MATLAB编程并求解实际问题3学会并运用movie和 moviein函数,以及plot结构。4 理解getframe以及学会运用axis调节坐标抽2、实验内容:自选函数,运用plot进行绘图。并使用movie以及moviein,制作函数极限动画。3、详细设计clearm=moviein(1

7、6);hold onfor i=1:50for 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,.)endm(:,i)=getframe;endmovie(m,50)clearm=moviein(16)hold onfor i=1:10for j=1:i t1=(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

8、,-t,.k) plot(pi+0.1,-t,.k) plot(pi+0.1,t,.k) plot(t,0,.r) plot(t,sin(t),.) 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、实验结果:5、实验总结:使用matlab进行绘图觉得很有意思,简单的代码,却能绘出各种颜色的图形动画。在学习的过程中还是有很多的问题。还有很多方面的东西不够了解

9、,只能边尝试边查询资料,让自己能够更了解,更明白。以便绘出更好的图形。三、蛛网模型学号班级统计0902姓名丁克明 指导教师易昆南实验题目 蛛网模型评 分1、设计(实习)目的:1.学会运用Matlab解决实际问题 2.进一步掌握Matlab的一些基本操作 3.通过范例体会Matlab的初步建模过程4学会用做动画2、实验内容:已知前两年的猪肉的产量和猪肉的价格分别为:39吨,28吨,12元/公斤,17元/公斤,根据前一年的猪肉价格影响后一年猪肉产量当年猪肉产量影响当年猪肉价格的线性关系,编写程序,利用动画原理画出前十年猪肉的产量价格的动态图形。(参数设置为,c1=39,c2=28,c3=36,r1

10、=12,r2=17,k=16)。3、详细设计clear%c1为产量1, c2为产量2, c3为产量3, r1为%肉价1, r2为肉价2, k为K年后产量与肉价%是否稳定hold offc1=39;c2=28;c3=36;r1=12;r2=17;k=16;a1=c1 1;c2 1;%系数矩阵b1=r1,r2;%列向量a2=r1 1;r2 1;b2=c2,c3;a=a1b1;b=a2b2;%x0(1)=c1;for n=1:30 y0(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(

11、n)=x0(n+1);endplot(x,y0,-g,y,y0,-b)hold onm=moviein(100);for n=1:k for j=1:30 t1=x0(n)+(j-1)*(x0(n+1)-x0(n)/30; t2=x0(n)+j*(x0(n+1)-x0(n)/30; if t2t1 t=t1; t1=t2; t2=t;%这样做方便画图 else end t=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; if t2d)的水管运到水塔内

12、部.请问水塔的门高H多高时,才有可能成功地把水管搬进水塔内?3、详细设计一:Clearfunction x=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; if k1=0 n=ceil(b/h)-1 else n=ceil(b/h); end for i=1:n+1; x(i)=a+(i-1)*(b-a)/n; y(i)=l*sin(x(i)-d*tan(x(i); end for i=1:n if y(i)ymax ymax=y(i); a=x(i-1); else

13、y(i)ymax b=x(i); end end m=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)方法:2syms h x h=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(h,x,d0); for n=d1:d:d2 if (c-a)/(d0-d1)*(b-c)/(d2-d0)100 plot(a,x0,r.) end end

14、end4、实验图像:5、实验总结: 实际的绘图进一步让我体会到了matlab功能的强大。他能在实际生活中解决很多人工无法解决的复杂问题。通过做此实验,让我对MATLAB有更进一步的了解,学会怎样才能正确运用MATLAB求解实际问题,了解如何利用数学模型去解释和分析社会经济问题,特别是这个典型经济问题的求解。我对MATLAB还不是特别熟悉,过程中遇到了很多问题,经过与同学讨论得到了良好的解决,希望以后会有进步。六、koch曲线学号班级统计0902姓名丁克明指导教师易昆南实验题目Koch曲线评 分1、设计(实习)目的:1.了解MATLAB在实际问题中的应用 2.学会利用MATLAB做图并求解实际问

15、题2、实验内容:绘制雪花曲线和其他一个美丽图形3、详细设计:1、雪花曲线p=0 0;10 0; n=2; A=cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3); for k=1:4 d=diff(p)/3; m=4*n-3; q=p(1:n-1,:); p(5:4:m,:)=p(2:n,:); p(2:4:m,:)=q+d; p(3:4:m,:)=q+d+d*A; p(4:4:m,:)=q+2*d; n=m; end plot(p(:,1),p(:,2) axis(0 10 0 10)2、p=0 10;10 0;0 -10;-10 0;0 10; n=5; A=

16、0 -1;1 0; for k=1:5 d=diff(p)/3;m=4*n-3; q=p(1:n-1,:);p(5:4:m,:)=p(2:n,:); p(2:4:m,:)=q+d; p(3:4:m,:)=q+2*d+d*A; p(4:4:m,:)=q+2*d; n=m;endplot(p(:,1),p(:,2)axis(-10 10 -10 10)3、花草树木p=5 0;5 10; n=2; A=cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3); B=cos(-pi/3) -sin(-pi/3);sin(-pi/3) cos(-pi/3); for k=1:4

17、d=diff(p)/3; d1=d(1:2:n,:); m=5*n; q1=p(1:2:n-1,:); p(10:10:m,:)=p(2:2:n,:); p(1:10:m,:)=p(1:2:n,:); p(2:10:m,:)=q1+d1; p(3:10:m,:)=p(2:10:m,:); p(4:10:m,:)=q1+d1+d1*A; p(5:10:m,:)=p(2:10:m,:);p(6:10:m,:)=q1+2*d1; p(7:10:m,:)=p(6:10:m,:); p(8:10:m,:)=q1+2*d1+d1*B; p(9:10:m,:)=p(6:10:m,:); n=m; endpl

18、ot(p(:,1),p(:,2) axis(0 10 0 10)4、实验图像:1、雪花曲线2、3、5、实验总结:通过做此实验,让我对MATLAB有更进一步的了解,学会怎样才能正确运用MATLAB求解实际问题,了解如何利用数学模型去解释和分析社会经济问题,特别是这个典型经济问题的求解。我对MATLAB还不是特别熟悉,过程中遇到了很多问题,经过与同学讨论得到了良好的解决,希望以后会有进步。七、拉格朗日插值与三次样条插值以及曲线拟合学号班级统计0902姓名丁克明指导教师易昆南实验题目拉格朗日插值与三次样条插值以及曲线拟合评 分1、设计(实习)目的:1.了解MATLAB在实际问题中的应用 2.学会利用

19、MATLAB做图并求解实际问题2、实验内容:拉格朗日插值和曲线拟合(拟合)用下面一组数据拟合中的参数a,b,k10020030040050060070080090010004.544.995.355.655.906.106.266.396.506.593、详细设计:1.拉格朗日插值x1=1:0.1:5;x0=1,3,5;y0=1,9,25;x=2,2.5,3,3.5,4,4.5;for i=1:6 s=0; for k=1:3 p=1; for j=1:3 if j=k p=p*(x(i)-x0(j)/(x0(k)-x0(j); end end s=p*y0(k)+s; end y(i)=s;

20、endplot(x1,x1.2,b,x,y,*r)2.三次样条插值x0=0:0.1:5;y0=x0.2;x=0:0.5:5;y=interp1(x0,y0,x,spline);plot(x0,y0,b,x,y,*r)3.曲线拟合f=inline(x(1)+x(2)*exp(0.02*x(3)*tdata),x,tdata);tdata=100:100:1000;cdata=4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59;x,JM=lsqcurvefit(f,1 1 1,tdata,cdata);xJMplot(tdata,cdata)4、实验

21、图像:1.拉格朗日插值2.三次样条插值3.拟合5、实验总结:这次的试验个人觉得就拉格郎日的振荡比较难做,虽然写出来了一眼看的就很清楚,不过其思想还是找了挺多资料后在同学的帮助下才得以完成;至于其他的试验让我学习到了更多的知识,开阔了眼界,明白了多种方法,对于以后的解题思路有了更多的思考余地,这次试验中用到了拉格郎日插值法,分段线性插值,三次样条插值,拟合的基本原理八、解线性方程组学号班级统计0902姓名丁克明指导教师易昆南实验题目解线性方程组评 分1、设计(实习)目的:1.了解MATLAB在实际问题中的应用 2.学会利用MATLAB做图并求解实际问题2、实验内容:1/比较用逆矩阵法、除法、克拉

22、默法则解方程Ax=b的用时和误差2/求解方程组最多零解3、详细设计:1、A=rand(100)*1.e2;x=ones(100,1);b=A*x;ticy=inv(A)*b;tocerr=norm(y-x)res=norm(A*y-b)ticy=Ab;tocerr=norm(y-x)res=norm(A*y-b)tica=det(A)for i=1:100 B=A; B(1:100,i)=b; y(i)=det(B)/a;endtocerr=norm(y-x)res=norm(A*y-b)2、function C=solution(A)l,u=lu(A);M1=;M2=;e=;f=;C=;r=

23、rank(A);rf=size(A);n=rf(1,2);k=1;for i=1:r while k=n if u(i,k)=0 e=e,k; M1=M1,u(1:r,k); k=k+1; break; else f=f,k; M2=M2,-u(1:r,k); end k=k+1; endend M2=M2,-u(1:r,k:n); f=f,k:n; for i=1:(n-r) y=zeros(n-r),1); y(i)=1; x=M1(M2*y); c=zeros(n,1); for j=1:r c(e(j)=x(j); end for j=1:(n-r) c(f(j)=y(j); end

24、C=C,c; end4、实验结果:1、Elapsed time is 0. seconds.err =5.9797e-012res =8.1628e-010Elapsed time is 0. seconds.err =5.0572e-012res = 2.1790e-011a = -1.3898e+225Elapsed time is 0. seconds.err = 5.0860e-012res = 1.4895e-0092、5、实验总结:通过本次实验,我基本上掌握了MATLAB求矩阵的秩、行列式和逆矩阵的命令,并通过编程比较可知用逆矩阵法、除法、克拉默法则求解方程Ax=B时除法最省时,最

25、精确;而且利用了以上方法求解给定的恰定,超定和欠定线性方程组,可以很快的求出结果;可见,利用MATLAB求解线性方程组是非常方便的,很有利于我们各方面涉及到这类问题的学习和工作。而由于本来对线性代数的知识就掌握得不是很好,所以做起这样的题目来确实很吃力,不过使用matlab软件解决了计算烦琐的问题,所以相对来说,题目也基本上能得到解决。在做实验过程中,我对线性代数的知识又有了进一步的认识,而且对于它结合matlab在现实问题中的应用也有了初步的了解,这也是一个不小的收获吧。九、矩阵对角化学号班级统计0902姓名丁克明指导教师易昆南实验题目矩阵对角化评 分1、设计(实习)目的:1.了解MATLA

26、B在实际问题中的应用 2.学会利用MATLAB做图并求解实际问题2、实验内容:矩阵对角化3、详细设计:function y=trigle(A)y=1;c=size(A);if c(1)=c(2) y=0; return;ende=eig(A);n=length(A);while 1 if isempty(e) return; end d=e(1); f=sum(abs(e-d)10*eps); g=n-rank(A-d*eye(n); if f=g y=0; return; end e(find(abs(e-d)p l=l+0; else l=l+1; end xt=x(k,l);yt=y(k,l); h=plot(xi,xt,yi,yt);axis(-2 n+2 0 y0+n+1) xi=xt;yi=yt; end ballnum(l)=ballnum(l)+1; ballnum1=3*ballnum./m; bar(0:n,ballnum1),axis(-2 n+2 0 y0+n+1) mm(i)=getframe; hold offend movie(mm,3) 4、实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论