数学建模实验报告经典实例_第1页
数学建模实验报告经典实例_第2页
数学建模实验报告经典实例_第3页
数学建模实验报告经典实例_第4页
数学建模实验报告经典实例_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

《数学建模》实验报告姓名学号系别班级指导教师实验日期课程名称《数学建模》同组实验者实验名称‘商人们过河’的MATLAB程序实验目的:复习Matlab编程;掌握编写简单的Matlab程序,掌握条件、循环和选择三种语句的用法。三、实验类型:验证、演示、设计、综合四、实验材料、工具、或软件多媒体计算机、Matlab软件五、实验要求按要求编写MATLAB程序,并作出相关图形。最后总结。六、试验内容与步骤:(附上必要的调试过程及运行结果截图,可加附页)实验题目一:建立M-文件:已知函数计算,并作出该函数的曲线图。解:M文件如下:计算过程如下,结果如下:画图程序命令如下:函数图象如下:实验题目二:编写利用顺序Guass消去法求方程组解的M-函数文件,并计算方程组的解解:M-函数文件如下:方程组的计算结果如下:实验题目三:编写“商人们安全过河”的Matlab程序解:程序如下:functionfoot=chouxiang%%%%%%%%%%%%%%%%%%%%%%程序开始需要知道商人数,仆人数,船的最大容量n=input('输入商人数目:');nn=input('输入仆人数目:');nnn=input('输入船的最大容量:');ifnn>nn=input('输入商人数目:');nn=input('输入仆人数目:');nnn=input('输入船的最大容量:');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%决策生成jc=1;%决策向量存放在矩阵“d”中,jc为插入新元素的行标初始为1fori=0:nnnforj=0:nnnif(i+j<=nnn)&(i+j>0)%满足条件D={(u,v)|1<=u+v<=nnn,u,v=0,1,2}d(jc,1:3)=[i,j1];%生成一个决策向量后立刻将他扩充为三维(再末尾加“1”)d(jc+1,1:3)=[-i,-j,-1];%同时生成他的负向量jc=jc+2;%由于一气生成两个决策向量,jc指标需要往下移动两个单位endendj=0;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%状态数组生成kx=1;%状态数组存放在矩阵“A”中,生成方法同决策生成fori=n:-1:0forj=nn:-1:0if((i>=j)&((n-i)>=(nn-j)))|((i==0)|(i==n))%(i>=j)&((n-i)>=(nn-j)))|((i==0)|(i==n))为可以存在的状态的约束条件A(kx,1:3)=[i,j,1];%生成状态数组集合D`A(kx+1,1:3)=[i,j,0];kx=kx+2;endendj=nn;end;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%将状态数组生成抽象矩阵k=(1/2)*size(A,1);CX=zeros(2*k,2*k);a=size(d,1);fori=1:2*kforj=1:ac=A(i,:)+d(j,:);x=find((A(:,1)==c(1))&(A(:,2)==c(2))&(A(:,3)==c(3)));v(i,x)=1;%x为空不会改变v的值endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%dijstra方法x=1;y=size(A,1);m=size(v,1);T=zeros(m,1);T=T.^-1;lmd=T;P=T;S=zeros(m,1);S(x)=1;P(x)=0;lmd(x)=0;k=x;while(1)a=find(S==0);aa=find(S==1);ifsize(aa,1)==mbreak;endforj=1:size(a,1)pp=a(j,1);ifv(k,pp)~=0ifT(pp)>(P(k)+v(k,pp))T(pp)=(P(k)+v(k,pp));lmd(pp)=k;endendendmi=min(T(a));ifmi==infbreak;elsed=find(T==mi);d=d(1);P(d)=mi;T(d)=inf;k=d;S(d)=1;endendiflmd(y)==inffoot='cannotreach';return;endfoot(1)=y;g=2;h=y;while(1)ifh==xbreak;endfoot(g)=lmd(h);g=g+1;h=lmd(h);endfoot=A(foot,:);foot(:,3)=[];保存并运行,结果如下:再验证:程序结果说明在改变商人和仆人数目,其他条件不变的条件下。可能无法得到结果。七、实验总结经过上面几道题的实验,使我明白了:想要真正掌握一门知识并不容易。但是,只要有信心,有耐心,有恒心。再加上细心与努力。也是可以办到的。现在处于刚开始学习的初步阶段,相信只要好好学习,将基础牢牢掌握住再不断的一步步

温馨提示

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

评论

0/150

提交评论