- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)