欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    matlab实验报告.docx

    • 资源ID:1093879       资源大小:87.96KB        全文页数:10页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab实验报告.docx

    实验报告课程运输与配送实验序号05实验项目班级姓名学号实验小组及成员实验成绩实验日期及时间实验地点实验目的1、学会最邻近法的内容;2、学会在MATLAB使用简单语言;3、学会MATLAB函数使用;4、学会使用MATLAB解决最邻近法问题。实验内容1、小组成员线上讨论构思解题思路;2、通过MATLAB软件制作一个最邻近法的函数,为某距离矩阵寻找一个初始的单回路配送路程。实验设备计算机、MATLAB软件实验步骤、结果、分析及总结一、实验分析及实验步骤1、学会最邻近法的内容最邻近法可以通过如下5步完成。(1)将起始点定位整个回路的起点;(2)找到刚加入到回路上离一个点最近的一个点,并将其加入到线路中;(3)重复步骤(2),直到集合了所有节点都加入到线路中;(4)将最后加入的节点和起始点连接起来,形成回路;2、线上讨论,小组成员学会解决最邻近法问题案例有一食品公司,位置在VI处,每天用一辆车给固定区域内的5家超市送货,要求货车只能去每一个超市一次,送完货后返回公司,各点之间的距离如表所示其中距离具有对称性,设计一条最短路径。距离VlV2V3V4V5V6Vl986712V296151816实验步骤、结果、分析及总结V3861487V461514410V5718846V612167106解:(I)根据以上距离表格,将Vl做成起点,选择Vl到各点距离中的最短距离,即V4为第二个点,此时路径为【VIV41O距离VlV2V3V4V5V6Vl986712V296151816V3861487V461514410V5718846V612167106(2)观察V4到各点的距离,找到最短距离V5点,此时路径为VIV4V5o距离VlV2V3V4V5V6Vl986712V296151816V3861487V461514410V5718846V612167106(3)因为V4点已经在路径上了,所以删除V4点,如下表。观察V5到各点的距离,找到最短距离V6点,此时路径为【V1V4V5V6L距离VlV2V3V5V6Vl98712V2961816V38687V571886V6121676(4)因为V5点已经在路径上了,所以删除V5点,如下表。观察V6到各点的距离,找到最短距离V3点,此时路径为【VIV4V5V6V3o距离VlV2V3V6Vl9812V29616V3867V612167(5)因为V6点已经在路径上了,所以删除V6点,如下表,观察V3到各点的距离,找到最短距离V2点,此时路径为【VIV4V5V6V3V2o实验距离VlV2V3Vl98V296V386步骤、结果、分析及总(6)所以最后最短路径为【V1V4V5V6V3V2V1,总距离为6+4+6+7+6+9=38。2、线上讨论,通过MATLAB软件制作一个最邻近法的函数,为上述案例寻找一个初始的单回路配送路程小组成员讨论整理好思路,首先建立一个矩阵。为防止原表格空格初始值影响实验最短路比较,将对角线上的数值设为MATLAB语言中表示无穷大的数值,即:Info方案一(纸上思路用MATLAB语言表达):(1)程序如下页图所示:实验步骤、 结果、 分析 及总结.IIIX.J.IIIZ-t.lllZ.IJIITe-inf 9867 12;9 inf 6 15 18 16:8 6 inf 14 8 7;6 15 14 inf 4 10;7 18 8 4al-A(l.:)%V】到各点的即岗(选收第mini, jll!5in(al)%Y1到哪点的跑离最小(第一行的最小值和所什列卜.林)A(:. jl) = %排除此点OM除最小值所在列)a2-A(jl. :)%新加入路/的点(V4)到剩余各点的距离(选取新的-行)min2, j2-min(a2)%V4到哪点的距离鼓小(第四打的最小僮和所住列卜标A(L :)A( = ,j2。推除此点(跚除垃小值所住列)a3-A(j2,:)min3. J3nin(a3)A(j2, :)A(:, j3)a4-A(j3,:)min4. j4?mi(a4)A(j3, :)A(:, J4)=A(j4, :);inf 6:12 16 7 10 6 inf(2)存在的问题和解决办法问题:关于如何把已经加入到路线中的点排除,尝试把此点的行和列删除,运行过程虽然没有问题,但是运行结果与实际不符,如下图。这样后面在利用下标“跳”到相应行去不仅最小值会出现错误,而且这样不知道实际上是把哪个点加到路线里了。mini=min2=min3=646al=A(l,:)mini, jl=min(al) 值和所在列下标)A(:, jl)=inf解决办法:为避免删除行列的数值对后续实验有影响,将矩阵中已经加入路线的点的所有数值都设为Inf(无穷大),因为是求最小值所以不会对后续运行有影响。(3)修改后的程序如下:A=Einf 9 8 6 7 12;9inf6151816;86inf1487;61514inf410;71884inf6;12167106inf%V1到各点的距离(选取第一行)%V1到哪一点的距离最小(第一行的最小%排除此点(假设所有点到此点距离无穷远)实验a2=A(jl,:)取新的一行)min2,j2=min(a2)在列下标)A(:,j2)=inf%新加入路径的点到剩余各点的距离(选%此点到哪一点的距离最小(最小值和所%排除此点步骤、a3=A(j2,:)结果、min3,j3=min(a3)A(:,j3)=inf分析及总a4=A(j3,:)min4,j4=min(a4)结A(:,j4)=infa5=A(j4,:)min5,j5=min(a5)A(:,j5)=infa6=A(j5,:)min6,j6=min(a6)1.=minl+min2+min3+min4+min5+min6方案二(运用循环语句改进MATLAB程序,简洁语言)(1)循环次数已知,尝试利用for循环语句,程序如下所示:.e“ix-114.=inf986712;9inf6151816;86inf1487;61514inf410:718Ja=A(l,:)%V1到各点的距离(选取第行)min(min(a)%V1到哪一点的距掰技小值i,j=find(a=min(min(a)%最小值所在行、列卜林A(:,j)=inf财*除此点(假设所行点到此点即肉无穷远)forj=2:6a三A(j,:)min(min(a)i»j三find(a=min(min(a)A(:,j)三inf;end存在问题:虽然for循环适用于已知循环次数,但是此次问题是不规律的循环,不是按照特定步长来循环的,所以不能用for循环,换while循环语句。(2)尝试利用While循环语句Ajinf986712:9Inf6151816:86inf1487:61514inf4:lntlnflnflnflnflnfW)可”点弊七警.行);:;:":;:":":;Inin(Bin)叫到哪XM却禽"小值InfInfInfInfInfInf(i,jfind(a-min(三in(a)%以小值所住行、列卜标InfInfInfInfInfInfA(:,j)inf贴,除此点(会设所仃点到此点距国无,InfInfInfInfInfInfInfInfInfInfInfInf干”女、I;:;:":;:":;_a”(I)InfInfInfInfInfInfQnin(三in(a)InfInfInfInfInfInfi.jJ三find(a=in(nin(a)InfInfInfInfInfInfA(:.j)三inf;InfInfInfInfInfInfendlntInfInfInfInfInfInfInfInfInfInfInf出现问题:程序进入死循环,因为循环条件错误,需要加入循环结实验束条件。(3)修改程序,运用WhiIe和if嵌套循环语句。步骤、根据上面的死循环可以看出最终循环结束时矩阵将会变成一个6*6结果、的无穷大矩阵,所以加入一个跳出循环的条件if(A=l./zeros(6),当矩阵为此时,循环结束,程序如下:分析A=inf986712;9inf6151816;86inf1487;61514inf410;71884inf6;12167106inf及总a=A(l,:)%V1到各点的距离(选取第一行)结min(min(a)%V1到哪一点的距离最小值i,j=find(a=min(min(a)%最小值所在行、列下标A(:,j)=inf%排除此点(假设所有点到此点距离无穷远)sum=min(a)%距离和B=l,j%最短路while(j<=6)%循环a=A(j,:)min(min(a)i,j=find(a=min(min(a)A(:,j)=inf;if(A=l./zeros(6)%1./zeros(6)是6*6无穷大矩阵sum-sum+min(a)B=B,jbreak;endsum=sum÷min(a)B=B,jEnd输出结果。二、实验结果1、修改后的方案一运行结果因为默认Vl是起点,所以在六个点中,VI也是终点。命令行向口实验步骤、结果、分析及总结"叵IHA=Inf98InfInf12Inf9867129Inf6InfInf169Inf615181686InfInfInf186Inf148761514InfInf1

    注意事项

    本文(matlab实验报告.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开