好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

matlab实验报告实验四MATLAB选择结构与应用实验.doc

30页
  • 卖家[上传人]:飞****9
  • 文档编号:144125099
  • 上传时间:2020-09-06
  • 文档格式:DOC
  • 文档大小:1.83MB
  • / 30 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • MATLAB数学实验报告指导老师:班 级: 小组成员: 时间:201_/_/_ Matlab第二次实验报告小组成员:  1题目:实验四,MATLAB选择结构与应用实验 目的:掌握if选择结构与程序流程控制,重点掌握break,return,pause语句的应用 问题:问题1:验证“哥德巴赫猜想”,即:任何一个正偶数(n>=6)均可表示为两个质数的和要求编制一个函数程序,输入一个正偶数,返回两个质数的和 问题分析:由用户输入一个大于6的偶数,由input语句实现由if判断语句判断是否输入的数据符合条件再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可 编程:function [z1,z2]=gede(n); n=input(please input n) if n<6 disp(data error); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf(two numbers are) fprintf(%.0f,%.0f,i,n-i) break end end end  结果分析:如上图,用户输入了大于6的偶数返回两个质数5和31,通过不断试验,即可验证哥德巴赫猜想。

       纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问题 问题:问题四:在一边长为1的四个顶点上各站有一个人,他们同时开始以等速顺时针沿跑道追逐下一人,在追击过程中,每个人时刻对准目标,试模拟追击路线,并讨论1) 四个人能否追到一起?(2) 若能追到一起,每个人跑过多少路程?(3) 追到一起所需要的时间(设速率为1) 问题分析:由正方形的几何对称性和四个人运动的对称性可知,只需研究2个人的运动即可解决此问题 编程: hold on axis([0 1 0 1]); a=[0,0]; b=[0,1]; k=0; dt=0.001; v=1; while k<10000 d=norm(a-b); k=k+1; plot(a(1),a(2),r.,markersize,15); plot(b(1),b(2),b.,markersize,15); fprintf(k=%.0f b(%.3f,%.3f) a(%.3f,%.3f) d=%.3f\n,k,b(1),b(2),a(1),a(2),d) a=a+[(b(1)-a(1))/d*dt,(b(2)-a(2))/d*dt]; b=b+[(b(2)-a(2))/d*dt,-(b(1)-a(1))/d*dt]; if d<=0.001 break end end fprintf(每个人所走的路程为:%.3f,k*v*dt) fprintf(追到一起所需要的时间为%.3f,k*dt) 结果分析: 上图为2人的模拟运动路线,有对称性可解决所提问题。

       上图为运算过程和运算结果四个人可以追到一起,走过的路程为1.003,时间也为1.003. 纪录:此题利用正方形和运动的对称性可以简便运算 3题目:实验八,河流流量估计与数据插值 目的:由一些测量数据经过计算处理,解决一些生活实际问题 问题:实验八上机练习题第三题:瑞士地图如图所示,为了算出他的国土面积,做以下测量,由西向东为x轴,由南向北为y轴,从西边界点到东边界点划分为若干区域,测出每个分点的南北边界点y1和y2,得到以下数据(mm)已知比例尺1:2222,计算瑞士国土面积,精确值为41288平方公里测量数据如下:x=[7.0 10.5 13.0 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106 111.5 118 123.5 136.5 142 146 150 157 158];y1=[44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68]; y2=[44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68]; 问题分析:先由题目给定的数据作出瑞士地图的草图,再根据梯形法,使用trapz语句,来估算瑞士国土的面积。

       编程:x=[7.0 10.5 13.0 17.5 34 40.5 44.5 48 56 61 68.5 76.5 80.5 91 96 101 104 106 111.5 118 123.5 136.5 142 146 150 157 158]; y1=[44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68]; y2=[44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68]; plot(x,y1,r.,markersize,15); plot(x,y2,r.,markersize,15); axis([0 160 0 135]) grid;hold on t=7:158; u1=spline(x,y1,t); u2=spline(x,y2,t); plot(t,u1) plot(t,u2) s1=trapz(t,u1); s2=trapz(t,u2); s=(s2-s1)*2222*22222/10000000; fprintf(S=%.0f,s) 结果分析: 上图为由所给数据绘制出的瑞士地图。

       上图为运算结果,计算出瑞士的国土面积为42472平方公里,与准确值41288较为接近 纪录:使用梯形分割的方法,trapz语句可以方便计算不规则图形面积,但存在一定误差 4题目:实验七:圆周率的计算与数值积分 目的:将数值积分最基本的原理应用于matlab之中,解决一些与积分有关的问题 问题:实验七上机练习题第一题:(排洪量)某河床的横断面如图7.3所示,为了计算最大排洪量,需要计算其断面积,试根据所给数据(m)用梯形法计算其断面积 问题分析:河床断面可近似分割成若干曲边梯形,近似处理把它们当做梯形来计算面积可使问题得到简化 编程: clc;clear; x=[0 4 10 12 15 22 28 34 40]; y=[0 1 3 6 8 9 5 3 0]; y1=10-y; plot(x,y1,k.,markersize,15); axis([0 40 0 10]); grid; hold on t=0:40; u=spline(x,y1,t); plot(t,u); s=40*10-trapz(t,u); fprintf(s=%.2f\n,s) 结果分析: 上图为河床的断面图。

       上图为计算结果面积约为180.70平方米 纪录:使用梯形法计算不规则图形面积十分简便易行 5题目:实验七:圆周率的计算与数值积分 目的:使用matlab计算解决一些有关积分的问题 问题:实验七上机练习题第三题:从地面发射一枚火箭,在最初100秒内记录其加速度如下,试求火箭在100秒时的速度 T(s)=[0 10 20 30 40 50 60 70 80 90 100];A(m/s*s)=[30.00 31.63 33.44 35.47 37.75 40.33 43.29 46.69 50.67 54.01 57.23]; 问题分析:加速度为速度的微分,已知微分求积分,类似于面积问题,可使用梯形法来计算 编程: clc;clear; x=[0 10 20 30 40 50 60 70 80 90 100]; y=[30.00 31.63 33.44 35.47 37.75 40.33 43.29 46.69 50.67 54.01 57.23]; plot(x,y,k.,markersize,15); axis([0 100 20 60]); grid; hold on s=0:10:100; z=spline(x,y,s); plot(s,y); v=trapz(x,y); fprintf(v=%.2f\n,v) 结果分析: 上图为加速度变化图。

       上图为计算结果,求得火箭在100秒时速度约为4168.95m/s 纪录:梯形法可以推广解决许多已知微分求积分的其他问题6题目:实验七:圆周率的计算与数值积分目的:计算曲线弧长闭曲线周长可使用微元法,ds=sqrt(dx^2+dy^2),在转化微积分问题,累加即可得到结果问题:实验七上机练习题第三题:计算椭圆想x^2/4+y^2=1的周长,使结果具有五位有效数字问题分析:编程:s=0; dx=0.001;for x=0:0.001:1.999 dy=(1.-((x+0.001).^2)/4)-(1.-((x).^2)/4); ds=sqrt(dx.^2+dy.^2); s=s+ds;ends=4*s;fprintf(the length is)fprintf(%.4f。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.