《数学模型》实验答案

上传人:mg****85 文档编号:34837733 上传时间:2018-03-02 格式:DOC 页数:141 大小:2.13MB
返回 下载 相关 举报
《数学模型》实验答案_第1页
第1页 / 共141页
《数学模型》实验答案_第2页
第2页 / 共141页
《数学模型》实验答案_第3页
第3页 / 共141页
《数学模型》实验答案_第4页
第4页 / 共141页
《数学模型》实验答案_第5页
第5页 / 共141页
点击查看更多>>
资源描述

《《数学模型》实验答案》由会员分享,可在线阅读,更多相关《《数学模型》实验答案(141页珍藏版)》请在金锄头文库上搜索。

1、1 第01章 建立数学模型 实验01-01 商人们怎样安全过河(编程,p78) 三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行。 随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。但是如何 乘船的大权掌握在商人们手中。商人们怎样才能安全渡河呢? 分析 决策: 每一步(此岸到彼岸或彼岸到此岸)船上的人员。 要求:在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过 河。 模型构成 x k 第 k 次渡河前此岸的商人数 y k 第 k 次渡河前此岸的随从数 x k, y k =0,1,2,3; k=1,2, 过程的状态 s k =(x k, y k ) 允

2、许状态集合 S=(x , y) x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2 u k 第 k 次渡船上的商人数 v k 第 k 次渡船上的随从数 u k, v k =0,1,2; k=1,2, 决策 d k =(u k, v k ) 允许决策集合 D=(u , v) u+v =1, 2 状态转移律 s k+1 =s k +(-1) k d k 多步决策问题2 求 d k D(k=1, 2, , n), 使 s k S, 并按转移律由 s 1 =(3,3) 到达 s n+1 =(0,0) 。 算法 1. 给出允许状态集合;%用 4 阶方阵 mark 标记,其中

3、mark(i,j)=0 表示(i-1,j- 1) 为允许状态,mark(i,j)=3 表示(i-1,j-1)为 不可达状 态 2. 给出允许决策集合;% D=0 1; 0 2; 1 0; 1 1; 2 0 3. 初始状态进栈;%进栈数据包括:当前状态,出 发标记(-1 为从此岸出发,1 为从彼岸出发), 选择第几个决策 4. 初始状态标记;%mark(i,j)=-1 表示从此岸出发转移到状态(i-1,j-1)已走过 , mark(i,j)=1 表示从彼岸出发转移到状态(i-1,j-1) 已走过,mark(i,j)=3 表示上 述两种情况都出现 5. 循环直到栈空5.1 出栈,将出 栈 的状态作

4、为当前状态,并选择下一个决策;%原决策失 败, 回溯5.2 循环直到决策都用过或到达最终状态5.2.1 由当前状态、出发标记 和决策得到转移到的新状态;5.2.2 若新状态是允 许状态且没走过,则执行 5.2.2.1;否则执 行 5.2.2.65.2.2.1 标记新状态的访问信息;%mark(i,j)=-1/1/35.2.2.2 当前状态及相关数据进栈;%存储决策过程5.2.2.4 将新状态作为当前状态,改变出发标记,选择第 1 个决策;5.2.2.5 跳转 5.2; %从新状态开始35.2.2.6 选择下一个决策;%当前状态不变,当前决策无效5.3 当前状态为最终状态,则 退出循; 6. 如

5、果有解,则输出决策过程;否则输出“无解”; 程序 clear; clc; mark=3*ones(4); mark(1,:)=0; mark(4,:)=0;%mark(i,j)=0 为 允许状态 mark(2,2)=0; mark(3,3)=0; D=0 1; 0 2; 1 0; 1 1; 2 0;%允许决策集合 sp=1; st(sp,:)=3,3,-1,0; %进栈,(3,3)为当前状态,-1 表示当前在此岸,决策 0 mark(4,4)=3; while sp0 s0=st(sp,1,2); ss=st(sp,3); d=st(sp,4);sp=sp-1;%出栈d=d+1;while d0)s1=s0+ss*D(d,:);i=s1(1)+1;j=s1(2)+1;if all(s1-1) clc; format compact; x=3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 .38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 .150.7 179.3 204.0 226.5 251.4; len=length(x); t=0:len-1; x0=3.9; r=0.2876; xm=312.3413; xx=xm./(1+(xm/x0-1)*exp(-r*t); plot(t,x,r+,t,xx,b-);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号