数学建模实验一.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验01 建立数学模型(4学时) 1.(求解,编程)如何施救药物中毒p10~11 其中,x(t)为t时刻,为。1.1(求解)模型求解p10~11 用MATLAB求解微分方程函数dsolve求解该微分方程。用MATLAB。help查询。求解的语句及运行结果。λ=0.1386, μ=0.1155,将上题中得到x(t)和y(t)两条曲线画在同一个图形窗口内。图形如P11中的图1。 提示: MATLAB命令plot, fplot, hold on/off, grid on/off, xlabel, ylabel, text。 ★ 编写的程序。结果。商人们怎样安全过河三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行。随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。但是如何乘船的大权掌握在商人们手中。商人们怎样才能安全渡河呢? 决策: 每一步(此岸到彼岸或彼岸到此岸)船上的人员。 要求:在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过河。 xk 第k次渡河前此岸的商人数 yk第k次渡河前此岸的随从数xk , yk=0,1,2,3; k=1,2,? 过程的状态sk=(xk , yk) 允许状态集合S={(x, y)| x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2} uk 第k次渡船上的商人数 vk第k次渡船上的随从数uk , vk=0,1,2; k=1,2,? 决策dk=(uk , vk) 允许决策集合D={(u , v)| u+v =1, 2} 状态转移律 sk+1=sk+(-1)kdk [多步决策问题求dk?D(k=1, 2, ?n), 使sk?S, 并按转移律由 s1=(3,3) 到达sn+1=(0,0) D是2行多列矩阵,每一列是一个决策。 S是2行多列矩阵,每一列是一种状态。 ① 编写程序求D和S,并输出。。。 上面允许状态集合S没有指明当时船是在此岸还是在彼岸,应该将S中的每一种状态再分为两种状态,需增加一个元素(值为-1或1)放在第三行。 定义动态允许状态集合S={(x, y, z)| x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2;z=-1,1} (x, y, -1),表示从此岸渡河前此岸的允许状态(x, y)。 (x, y, 1),表示从彼岸渡河前此岸的允许状态(x, y)。 SS是三行多列矩阵,每一列表示一种状态,列下标为其编号。 定义状态转移矩阵A,其中,A(i, j)=1表示D中存在决策使状态i转到j,否则A(i, j)=0。 程序如下(输入时,不必把注释也输入): 要求: ① 将程序接在上题的程序之后(去掉最后多余的输出语句),程序最后给出显示SS和A的语句。 ② 运行程序,输出SS和A。。。要求 读懂以上程序。 D=[]; for u=0:2 for v=0:2 if u+v==1||u+v==2 D=[D [u;v]]; end end end S=[]; for x=3:-1:0 for y=3:-1:0 if x==0||x==3||x==y S=[S,[x;y]]; end end end SS=[[S;-ones(1,size(S,2))],[S;ones(1,size(S,2))]]; SSnum=size(SS,2); A=zeros(SSnum); for i=1:SSnum for j=1:SSnum for d=D s=[SS(1:2,i)+SS(3,i)*d;-SS(3,i)]; if all(s==SS(:,j)) A(i,j)=1;break; end end end end SS=[[S;-ones(1,size(S,2))],[S;ones(1,size(S,2))]]; SSnum=size(SS,2); A=zeros(SSnum); for i=1:SSnum for j=1:SSnum for d=D s=[SS(1:2,i)+SS(3,i)*d;-SS(3,i)]; if all(s==SS(:,j)) A(i,j)=1;break; end end end end s=[1,zeros(1,SSnum-1)]

文档评论(0)

jkf4rty7 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档