數(shù)學(xué)模型程序代碼-Matlab-姜啟源-建立數(shù)學(xué)模型_第1頁(yè)
數(shù)學(xué)模型程序代碼-Matlab-姜啟源-建立數(shù)學(xué)模型_第2頁(yè)
數(shù)學(xué)模型程序代碼-Matlab-姜啟源-建立數(shù)學(xué)模型_第3頁(yè)
數(shù)學(xué)模型程序代碼-Matlab-姜啟源-建立數(shù)學(xué)模型_第4頁(yè)
數(shù)學(xué)模型程序代碼-Matlab-姜啟源-建立數(shù)學(xué)模型_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章建立數(shù)學(xué)模型教材中給出原始數(shù)據(jù),結(jié)合模型,得到結(jié)果。但如何求得結(jié)果這一過(guò)程沒(méi)有給出,實(shí)際上要用MATLAB軟件編寫程序來(lái)求得,這應(yīng)該交給實(shí)驗(yàn)課來(lái)完成??紤]到上學(xué)期同學(xué)們剛學(xué)習(xí)MATLAB語(yǔ)言,編程能力不強(qiáng),所以有關(guān)的程序給出來(lái)供同學(xué)們進(jìn)行驗(yàn)證。要求同學(xué)們要讀懂程序。1.(求解,編程)如何施救藥物中毒p10~11人體胃腸道和血液系統(tǒng)中的藥量隨時(shí)間變化的規(guī)律(模型):’dx6 ?—二九x_Ry,y(0)=0—二九x_Ry,y(0)=0Idt其中,x(t)為t時(shí)刻胃腸道中的藥量,y(t)為t時(shí)刻血液系統(tǒng)中的藥量,t=0為服藥時(shí)刻。(求解)模型求解p10~11要求:①用MATLAB求解微分方程函數(shù)dsolve求解該微分方程(符號(hào)運(yùn)算)。②用MATLAB的化簡(jiǎn)函數(shù)simplify化簡(jiǎn)所得結(jié)果。③結(jié)果與教材P11上的內(nèi)容比較。提示:dsolve和simplify的用法可用help查詢。建議在命令窗口中操作?!锴蠼獾恼Z(yǔ)句及運(yùn)行結(jié)果:>>[x,y]=dsolve('Dx=-a*x','Dy=a*x-b*y','x(0)=1100','y(0)=0');>>disp([x,y])[1100*exp(-a*t),exp(-a*t)*exp(-b*t)*((1100*a*exp(a*t))/(a-b)-(1100*a*exp(b*t))/(a-b))]>>disp(simplify([x,y]));[1100*exp(-a*t),(1100*a*exp(-t*(a+b))*(exp(a*t)-exp(b*t)))/(a-b)](編程)結(jié)果分析p11已知人=,以=,將上題中得到x(t)和y(t)兩條曲線畫在同一個(gè)圖形窗口內(nèi)。參考圖形如下。提示:MATLAB命令plot,fplot,holdon/off,gridon/off,xlabel,ylabel,texto★編寫的程序和運(yùn)行結(jié)果:程序1:用plotclc;clear;a=;b=;t=0::25;x=1100./exp(a*t);y=-(1100*a*(1./exp(a*t)-1./exp(b*t)))/(a-b);plot(t,x,t,y);gridon;xlabel('{\itt}/h');ylabel('{\itx},{\ity}/mg');text(2,1100/exp(a*2),' {\itx}({\itt})');text(3,-(1100*a*(1/exp(a*3) - 1/exp(b*3)))/(a - b),{\ity}({\itt})');程序2:用fplot和匿名函數(shù)clc;clear;a=;b=;fplot(@(t)[1100/exp(a*t),-(1100*a*(1/exp(a*t) -1/exp(b*t)))/(a-b)],[025]);gridon;xlabel('{\itt}/h');ylabel('{\itx},{\ity}/mg');text(2,1100/exp(a*2),' {\itx}({\itt})');text(3,-(1100*a*(1/exp(a*3) - 1/exp(b*3)))/(a - b),{\ity}({\itt})');2.(編程,驗(yàn)證)商人們?cè)鯓影踩^(guò)河p8?9三名商人各帶一個(gè)隨從乘船渡河,一只小船只能容納二人,由他們自己劃行。隨從們密約,在河的任一岸,一旦隨從的人數(shù)比商人多,就殺人越貨。但是如何乘船的大權(quán)掌握在商人們手中。商人們?cè)鯓硬拍馨踩珊幽兀勰P蜆?gòu)成]決策:每一步(此岸到彼岸或彼岸到此岸)船上的人員。要求:在安全的前提下(兩岸的隨從數(shù)不比商人多),經(jīng)有限步使全體人員過(guò)河。xk第卜次渡河前此岸的商人數(shù)yk第k次渡河前此岸的隨從數(shù) xk,yk=0,1,2,3;k=1,2,過(guò)程的狀態(tài) s=(x,y)kkk允許狀態(tài)集合S={(x,y) x=0,y=0,1,2,3;x=3,y=0,1,2,3;x=y=1,2}uk第k次渡船上的商人數(shù)vk第卜次渡船上的隨從數(shù)uk,vk=0,1,2;k=1,2,決策dk=(uk,Vk)允許決策集合D={(u,v) u+v=1.2}狀態(tài)轉(zhuǎn)移律s=s+(-1)狀態(tài)轉(zhuǎn)移律s=s+(-1)kd

k+1k k[多步?jīng)Q策問(wèn)題][多步?jīng)Q策問(wèn)題]求dkD(k=1,2,sn=(0,0);,n),使skS,并按轉(zhuǎn)移律由s1=(3,3)到達(dá)(編程)求允許決策集合D和允許狀態(tài)集合SD是2行多列矩陣,每一列是一個(gè)決策。S是2行多列矩陣,每一列是一種狀態(tài)。要求:①編寫程序求D和S,并輸出。②S的第一列是[3,3]',最后一列是[0,0]'?!锞帉懙某绦蚝瓦\(yùn)行結(jié)果:程序:clear;clc;%求允許決策集合D(2Xn1,n1種決策)D=[];foru=0:2forv=0:2forifu+v==1||u+v==2D=[D,[u;v]];endendend%求允許狀態(tài)集合$(2Xn2,n2種狀態(tài))S=[];forx=3:-1:0fory=3:-1:0ifx==0||x==3||x==yS=[S,[x;y]];endendend%首列狀態(tài)(商人數(shù),仆從數(shù))?=(3,3)',未列為(0,0)'D,S運(yùn)行結(jié)果:(驗(yàn)證)求動(dòng)態(tài)允許狀態(tài)集合SS和狀態(tài)轉(zhuǎn)移矩陣A上面允許狀態(tài)集合S沒(méi)有指明當(dāng)時(shí)船是在此岸還是在彼岸,應(yīng)該將S中的每一種狀態(tài)再分為兩種狀態(tài),需增加一個(gè)元素(值為-1或1)放在第三行。定義動(dòng)態(tài)允許狀態(tài)集合SS={(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),表示從此岸渡河前此岸的允許狀態(tài)(x,y)。(x,y,1),表示從彼岸渡河前此岸的允許狀態(tài)(x,y)。SS是三行多列矩陣,每一列表示一種狀態(tài),列下標(biāo)為其編號(hào)。定義狀態(tài)轉(zhuǎn)移矩陣A,其中,A(i,j)=1表示D中存在決策使?fàn)顟B(tài)i轉(zhuǎn)到j(luò),否則A(i,j)=0。程序如下(輸入時(shí),不必把注釋也輸入):程序運(yùn)行結(jié)果(參考):要求:①將程序接在上題的程序之后(去掉最后多余的輸出語(yǔ)句),程序最后給出顯示SS和A的語(yǔ)句。②運(yùn)行程序,輸出SS和A。對(duì)照參考答案,如數(shù)值不一致,請(qǐng)檢查程序。MATLAB函數(shù)all的用法見(jiàn)提示。★運(yùn)行的完整程序和運(yùn)行結(jié)果:程序:clear;clc;%求允許決策集合D(2Xn1,n1種決策)D=[];foru=0:2forv=0:2ifu+v==1||u+v==2D=[D,[u;v]];endendend%求允許狀態(tài)集合$(2Xn2,n2種狀態(tài))S=[];forx=3:-1:0fory=3:-1:0ifx==0||x==3||x==yS=[S,[x;y]];endendend%首列狀態(tài)(商人數(shù),仆從數(shù))’=(3,3)',末列為(0,0),%動(dòng)態(tài)允許狀態(tài)集合55(3Xn3,n3種狀態(tài))%-1,從此岸渡河前此岸的允許狀態(tài)%1,從彼岸渡河前此岸的允許狀態(tài)SS=[[S;-ones(1,size(S,2))],[S;ones(1,size(S,2))]];SSnum=size(SS,2);%狀態(tài)總數(shù),SS中的列下標(biāo)對(duì)應(yīng)狀態(tài)的編號(hào)%SS(:,1)=[3,3,-1]'(起點(diǎn)),SS(:,end)=[0,0,1]'(終點(diǎn))%狀態(tài)轉(zhuǎn)移矩陣A,A(i,j)=1表示存在決策使?fàn)顟B(tài)i轉(zhuǎn)到j(luò),其它為0A=zeros(SSnum);fori=1:SSnumforj=1:SSnumford=D%順序取D的每一列給ds=[SS(1:2,i)+SS(3,i)*d;-SS(3,i)];ifall(s==SS(:,j))%所有元素不為0時(shí)為真A(i,j)=1;break;endendendendSS,A運(yùn)行結(jié)果:(驗(yàn)證)給出一個(gè)商人們安全過(guò)河的方案程序如下(輸入時(shí),不必把注釋也輸入):程序運(yùn)行結(jié)果:要求:①讀懂以上程序,掌握all和any函數(shù)的應(yīng)用。②將程序接在之前的程序后(去掉最后多余的輸出語(yǔ)句),運(yùn)行程序。對(duì)照答案,如不一致,請(qǐng)檢查程序。MATLAB函數(shù)any的用法見(jiàn)提示?!锝o出運(yùn)行的完整程序和運(yùn)行結(jié)果:程序:clear;clc;%求允許決策集合D(2Xn1,n1種決策)D=[];foru=0:2forv=0:2ifu+v==1||u+v==2D=[D,[u;v]];endendend%求允許狀態(tài)集合$(2Xn2,n2種狀態(tài))S=[];forx=3:-1:0fory=3:-1:0ifx==0||x==3||x==yS=[S,[x;y]];endendend%首列狀態(tài)(商人數(shù),仆從數(shù))’=(3,3)',末列為(0,0),%動(dòng)態(tài)允許狀態(tài)集合SS(3Xn3,n3種狀態(tài))%-1,從此岸渡河前此岸的允許狀態(tài)%1,從彼岸渡河前此岸的允許狀態(tài)SS=[[S;-ones(1,size(S,2))],[S;ones(1,size(S,2))]];SSnum=size(SS.2);%狀態(tài)總數(shù),SS中的列下標(biāo)對(duì)應(yīng)狀態(tài)的編號(hào)%SS(:,1)=[3,3,-1]'(起點(diǎn)),SS(:,end)=[0,0,1]'(終點(diǎn))%狀態(tài)轉(zhuǎn)移矩陣A,A(i,j)=1表示存在決策使?fàn)顟B(tài)i轉(zhuǎn)到j(luò),其它為0A=zeros(SSnum);fori=1:SSnumforj=1:SSnumford=D%順序取D的每一列給ds=[SS(1:2,i)+SS(3,i)*d;-SS(3,i)];ifall(s==SS(:,j))%所有元素不為0時(shí)為真A(i,j)=1;break;endendendend%SK為多行SSnum列的矩陣,第i列對(duì)應(yīng)SS的第i列的狀態(tài)。%第i行表示第i次渡河前有那些狀態(tài),1表示有對(duì)應(yīng)下標(biāo)列號(hào)的狀態(tài),0則無(wú)。%第i+1行是第i行狀態(tài)轉(zhuǎn)移過(guò)來(lái)的狀態(tài)%當(dāng)?shù)赟Snum狀態(tài)出現(xiàn)時(shí)停止,表示有解。%或者新行的元素全0時(shí)停止,表示無(wú)解。%新行不允許出現(xiàn)之前出現(xiàn)過(guò)的狀態(tài)。s=[1,zeros(1,SSnum-1)];%從狀態(tài)[3,3,-1],開(kāi)始SK=s;whileany(s)&&s(SSnum)~=1卜=由句[);%求最后一行為1的列下標(biāo)s=any(A(k,:),1);%得到新行,元素值為1或0s=s&~any(SK,1);%去掉新行中之前出現(xiàn)的狀態(tài)SK=[SK;s];%新行加入,作為SK的末行end%多步?jīng)Q策,直到找到目標(biāo)。有難度!ifany(s)==0%新行全0disp('無(wú)解!');return;end%最后一行的第SSnum狀態(tài)(j)開(kāi)始往回找轉(zhuǎn)換到它的狀態(tài)(i),直到狀態(tài)1。%得到一個(gè)狀態(tài)號(hào)的順序sk(行向量),為一個(gè)解。sk=zeros(1,size(SK,1));sk(1)=1;sk(1,end)=SSnum;j=SSnum;fork=size(SK,1)-1:-1:2fori=find(SK(k,:))ifA(i,j)==1sk(k)=i;j=i;break;endendenddisp([1:length(sk);SS(1:2,sk)]);%輸出結(jié)果給出程序的運(yùn)行結(jié)果:3.(求解)商人們?cè)鯓影踩^(guò)河(修改)p9對(duì)第2題的問(wèn)題改動(dòng),用類似的方法求解。在第2題中修改商人數(shù)和隨從數(shù)有四名商人各帶一個(gè)隨從,其它同第2題。修改第2題中的程序求解。★修改的程序部分和完整程序的運(yùn)行結(jié)果(安全過(guò)河的方案):%求允許狀態(tài)集合S(2Xn2,n2種狀態(tài))S=[];forx=4:-1:0fory=4:-1:0ifx==0||x==4||x==yS=[S,[x;y]];endendend%首列狀態(tài)(商人數(shù),仆從數(shù))’=(4,4)',末列為(0,0)'在題中修改船容納的人數(shù)船能容納3人。修改題中的程序求解。★修改的程序部分和完整程序的運(yùn)行結(jié)果(安全過(guò)河的方案):%求允許決策集合D(2Xn1,n1種決策)D二口;foru=0:3forv=0:3ifu+v>=1&&u+v<=3D=[D,[u;v]];endendend4.(編程)安全過(guò)河問(wèn)題(人、貓、雞、米)p21習(xí)題5人帶著貓、雞、米過(guò)河,除需要人劃船之外,船至多能載貓、雞、米三者之一,而當(dāng)人不在場(chǎng)時(shí)貓要吃雞、雞要吃米。試設(shè)計(jì)一個(gè)安全過(guò)河方案。模仿商人過(guò)河問(wèn)題的程序編寫程序解決本問(wèn)題?!锍绦颍篶lear;clc;%求允許決策集合口(2Xn1,n1種決策)D=[[1,0,0,0]',[1,1,0,0]',[1,0,1,0]',[1,0,0,1]'];%求允許狀態(tài)集合$(2Xn2,n2種狀態(tài))S=[];j=1;fora=2-3+2-2+21+1:-1:0s=[fix(a/2人3);mod(fix(a/2人2),2);mod(fix(a/2),2);mod(a,2)];%取二進(jìn)制數(shù)字ifs(1)&&(s(2)&&s(4)||s(3))||~s(1)&&(~s⑵&&~s(4)||~s(3))S(:,j)=s;j=j+1;end%s=[人,貓,雞,米]end%首列狀態(tài)=(1,1,1,1)',未列為(0,0,0,0)'%動(dòng)態(tài)允許狀態(tài)集合SS(3Xn3,n3種狀態(tài))%-1,從此岸渡河前此岸的允許狀態(tài)%1,從彼岸渡河前此岸的允許狀態(tài)SS=[[S;-ones(1,size(S,2))],[S;ones(1,size(S,2))]];SSnum=size(SS,2);%狀態(tài)總數(shù),SS中的列下標(biāo)對(duì)應(yīng)狀態(tài)的編號(hào)%SS(:,1)=[1,1,1,1,-1]'(起點(diǎn)),SS(:,end)=[0,0,0,0,1]'(終點(diǎn))%狀態(tài)轉(zhuǎn)移矩陣A,A(i,j)=1表示存在決策使?fàn)顟B(tài)i轉(zhuǎn)到j(luò),其它為0A=zeros(SSnum);fori=1:SSnumforj=1:SSnumford=D%順序取D的每一列給ds=[SS(1:4,i)+SS(5,i)*d;-SS(5,i)];ifall(s==SS(:,j))%所有元素不為0時(shí)為真A(i,j)=1;break;endendendend%SK為多行SSnum列的矩陣,第i列對(duì)應(yīng)SS的第i列的狀態(tài)。%第i行表示第i次渡河前有那些狀態(tài),1表示有對(duì)應(yīng)下標(biāo)列號(hào)的狀態(tài),0則無(wú)。%第i+1行是第i行狀態(tài)轉(zhuǎn)移過(guò)來(lái)的狀態(tài)%當(dāng)?shù)赟Snum狀態(tài)出現(xiàn)時(shí)停止,表示有解。%或者新行的元素全0時(shí)停止,表示無(wú)解。%新行不允許出現(xiàn)之前出現(xiàn)過(guò)的狀態(tài)。s=[1,zeros(1,SSnum-1)];%從狀態(tài)[1,1,1,1,-1]'開(kāi)始SK=s;whileany(s)&&all(SSnum-find(s))1<=£5爪5);%求最后一行為1的列下標(biāo)s=any(A(k,:),1);%得到新行,元素值為1或0s=s&~any(SK,1);%去掉新行中之前出現(xiàn)的狀態(tài)SK=[SK;s];%新行加入,作為SK的末行endif~any(s)%新行全0disp('無(wú)解!');return;end%最后一行的第SSnum狀態(tài)(j)開(kāi)始往回找轉(zhuǎn)換到它的狀態(tài)(。,直到狀態(tài)1。%得到一個(gè)狀態(tài)號(hào)的順序sk(行向量),為一個(gè)解。sk=zeros(1,size(SK,1));sk(1)=1;sk(1,end)=SSnum;j=SSnum;fork=size(SK,1)-1:-1:2fori=find(SK(k,:))ifA(i,j)==1sk(k)=i;j=i;break;endendenddisp([1:length(sk);SS(1:4,sk)]);%輸出結(jié)果★程序的運(yùn)行結(jié)果5.(選做,編程)商人們?cè)鯓影踩^(guò)河(自編)中的程序有一定難度,所以給出了參考程序,初學(xué)MATLAB的同學(xué)可能想不到用其中的一些語(yǔ)句。第2題給出的是求解商人們安全過(guò)河問(wèn)題的一種算法程序,還有其它的算法程序,比如回溯法、遞歸算法等。要求:①按照自己的理解和想法,改寫中的程序。②或用別的算法編寫解決商人們安全過(guò)河的程序?!锍绦蚝瓦\(yùn)行結(jié)果:解1(遞歸)程序functionriver()globalmarkDSHOW;%全局變量mark=2*ones(4);mark(1,:)=0;mark(4,:)=0;%mark(i,j)=0為允許狀態(tài)mark(2,2)=0;mark(3,3)=0;D=[01;02;10;11;20];%允許決策集合mark(4,4)=2;SHOW二口;fun([3,3],-1);disp([[3,3];SHOW]);returnfunctionf=fun(s,t)globalmarkDSHOW;%全局變量ifs==0f=1;return;endfork=1:5s1=s+t*D(k,:);i=s1(1)+1;j=s1(2)+1;ifall(s1>=0)&&all(s1<=3)&&(mark(i,j)==0||mark(i,j)==t)ifmark(i,j)==0%標(biāo)記狀態(tài)(i-1,j-1)的使用情況mark(i,j)=-t;elsemark(i,j)=2;endiffun(s1,-t)SHOW=[s1;SHOW];f=1;return;endendendifs==3disp('無(wú)解’);endf=0;運(yùn)行結(jié)果TOC\o"1-5"\h\z3 33 13 23 0 %船??勘税叮劝阉须S從渡過(guò)彼岸3 1120 2 %船??勘税?,再把所有商人渡過(guò)彼岸0 3 %船??看税叮税吨挥须S從,彼岸只有商人0 10 20 0 %船??勘税叮詈蟀阉须S從渡過(guò)彼岸三個(gè)階段:(3,3,船停此岸)T(3,0,船停彼岸)T(0,3,船停此岸)T(0,0,船停彼岸)第一階段:所有隨從渡過(guò)彼岸(商人不動(dòng));第二階段:使所有商人渡過(guò)彼岸,并將隨從渡回此岸;第三階段:所有隨從渡過(guò)彼岸(商人不動(dòng))。解2(借用棧)思路定義狀態(tài):此岸的商人數(shù),隨從數(shù),小船??吭诖税痘虮税?。從初始狀態(tài)開(kāi)始,找到一個(gè)決策得到下一個(gè)狀態(tài),再?gòu)男聽(tīng)顟B(tài)開(kāi)始,找到一個(gè)決策得到下一個(gè)狀態(tài),...。在這個(gè)過(guò)程中,出現(xiàn)過(guò)的狀態(tài)將不可再用。若從某個(gè)狀態(tài)開(kāi)始,所有決策都得不到新?tīng)顟B(tài),則返回上一狀態(tài),并從下一個(gè)決策開(kāi)始,試探是否能得到新的狀態(tài)。直到到達(dá)狀態(tài)(0.0),或無(wú)解。算法.給出允許狀態(tài)集合;%用4階方陣mark標(biāo)記,其中mark(i,j)=0表示(i-1,j-1)為允許狀態(tài),mark(i,j)=2表示(i-1,j-1)為不可達(dá)狀態(tài).給出允許決策集合;%D=[01;02;10;11;20].初始狀態(tài)進(jìn)棧;%包括:當(dāng)前狀態(tài),出發(fā)標(biāo)記(-1/1為從此岸/彼岸出發(fā)),選擇第幾個(gè)決策.初始狀態(tài)標(biāo)記;%mark(i,j)=-1/1表示從此岸/彼岸出發(fā)轉(zhuǎn)移到狀態(tài)(i-1,j-1)已走過(guò),mark(i,j)=2表示上述兩種情況都出現(xiàn)或不可達(dá)狀態(tài).循環(huán)直到棧空或到達(dá)狀態(tài)(0,0)出棧,將出棧的狀態(tài)作為當(dāng)前狀態(tài),并選擇下一個(gè)決策;%原決策失敗,回溯循環(huán)直到?jīng)Q策都用過(guò)或到達(dá)最終狀態(tài)由當(dāng)前狀態(tài)、出發(fā)標(biāo)記和決策得到轉(zhuǎn)移到的新?tīng)顟B(tài);若新?tīng)顟B(tài)是允許狀態(tài)且沒(méi)走過(guò),則執(zhí)行;否則選擇下一個(gè)決策標(biāo)記新?tīng)顟B(tài)的訪問(wèn)信息;%mark(i,j)=-1/1/2當(dāng)前狀態(tài)重新進(jìn)棧(改變了決策);%存儲(chǔ)決策過(guò)程將新?tīng)顟B(tài)作為當(dāng)前狀態(tài),置出發(fā)標(biāo)記,選擇第1個(gè)決策;.若有解,則輸出決策過(guò)程;否則輸出“無(wú)解”;程序clear;clc;mark=2*ones(4);mark(1,:)=0;mark(4,:)=0;%mark(i,j)=0為允許狀態(tài)mark(2,2)=0;mark(3,3)=0;D=[01;02;10;11;20];%允許決策集合sp=1;st(sp,:)=[3,3,-1,0];%進(jìn)棧,(3,3)為當(dāng)前狀態(tài),-1表示小船停靠此岸,決策0(未做決策)mark(4,4)=2;%標(biāo)記為不可達(dá)狀態(tài)s0=[3,3];whilesp>0&&any(s0>0)%棧未空且s0中至少有—個(gè)元素>0s0=st(sp,[1,2]);ss=st(sp,3);%當(dāng)前狀態(tài),ss=-1/1小船??看税?彼岸d=st(sp,4);%之前用過(guò)的決策,該決策失敗sp=sp-1;%出棧d=d+1;%試探下一個(gè)決策whiled<6&&any(s0>0)s1=s0+ss*D(d,:);%下一個(gè)狀態(tài),不包括小船??繝顟B(tài)i=s1(1)+1;j=s1(2)+1;%狀態(tài)轉(zhuǎn)換為下標(biāo)ifall(s1>=0)&&all(s1<=3)&&(mark(i,j)==0||mark(i,j)二二-ss)ifmark(i,j)==0%標(biāo)記狀態(tài)(i-1,j-1)的使用情況mark(i,j)=ss;elsemark(i,j)=2;endsp=sp+1;%進(jìn)棧st(sp,:)=[s0,ss,d];%當(dāng)前狀態(tài)重新進(jìn)棧,改變了決策s0=s1;ss=-ss;d=1;%下一個(gè)狀態(tài)作當(dāng)前狀態(tài),選擇第1個(gè)決策else%決策d失敗d=d+1;endendendifs0==0disp([[1:sp+1]',[st(1:sp,1:2);s0]]);%有解elsedisp('無(wú)解’);end運(yùn)行結(jié)果TOC\o"1-5"\h\z3 33 13 23 03 11 12 20 20 30 10 20 0clear;clc;%求允許狀態(tài)集合SS二口;forx=0:3fory=0:3if(x==0&&(y>=0&&y<=3))...||(x==3&&(y>=0&&y<=3))...||(x==1&&y==l||x==2&&y==2)S=[S,[x;y]];endendendSA=S;%從此岸(A)到彼岸(B)渡河前此岸的允許狀態(tài)集合SB=S;%從彼岸(B)到此岸(A)渡河前此岸的允許狀態(tài)集合%求允許決策集合DD二口;foru=0:2forv=0:2ifu+v——1||u+v——2D=[D,[u;v]];endendendk=1;%第1次渡河s=[3;3];%第1次渡河前的狀態(tài)Snum(1)=1;%第1次渡河前的狀態(tài)總數(shù)SA(:,end)二口;SB=SA;%去掉狀態(tài)(3,3)whileSnum(k)>0Snum(k+1)=0;%第卜+1次渡河前的狀態(tài)總數(shù)初始化k1—size(s,2)-Snum(k)+1;k2—size(s,2);fori—k1:k2xk—s(1,i);yk—s(2,i);ford—Dxk1—xk+(-1)%*d(1);yk1—yk+(-1)%*d(2);if(-1)八k——1forj—1:size(SB,2)ifxk1——SB(1,j)&&yk1——SB(2,j)s=[s,SB(:,j)];SB(:,j)=口;Snum(k+1)—Snum(k+1)+1;break;endendelseforj=1:size(SA,2)ifxk1=SA(1,j)&&yk1=SA(2,j)s=[s,SA(:,j)];SA(:,j)二口;Snum(k+1)=Snum(k+1)+1;break;endendendendendk=k+1;endSnums(:,1:Snum(1))m=Snum(1);fork=1:11disp(s(:,m+1:m+Snum(k+1)));m=m+Snum(k+1);end解4i=1;S=[];D=[];S(:,i)=[3;3];%開(kāi)始S(:,1)=[3,3]'whileS(1,i)~=0||S(2,i)~=0%當(dāng)s(:,i)=[0,0]'完成D(:,i)=round(2*rand(2,1));%隨機(jī)取0,1,2給決策D(:,i)d=D(:,i);ifd(1)+d(2)~=1&&d(1)+d(2)~=2%成立則不是允許決策continue;%重新選取決策endS(:,i+1)=S(:,i)+(-1)[*D(:,i);%得到下一個(gè)狀態(tài)S(:,i+1)s=S(:,i+1);if(s(1)==1&&s(2)~=1)||(s(1)==2&&s(2)~=2)||(s(1)>3||s(1)<0)||(s(2)>3||s⑵<0)%成立則不是允許狀態(tài)continue;%重新選取決策endi=i+1;ifi==10-5%等于此循環(huán)次數(shù)判無(wú)解disp('無(wú)解');return;endendfori=1:size(S,2)%添加狀態(tài)的第3行元素,-1為船在此岸,1時(shí)在彼岸SS(:,i)=[S(:,i);(-1)1];end%區(qū)分過(guò)程中的不同狀態(tài)fori=1:size(SS,2)-1%去掉狀態(tài)轉(zhuǎn)移過(guò)程中多余的狀態(tài)a=0;forj=i+1:size(SS,2)%找出與第i狀態(tài)相同的最后一個(gè)狀態(tài)ifany(SS(:,i)-SS(:,j))==0a=j;endendifi<a%刪除第i到a-1列,多余的狀態(tài)轉(zhuǎn)移SS(:,i:a-1)=口;endenddisp([1:size(SS,2);SS])%該程序運(yùn)行效率含隨機(jī)性,可能誤判為無(wú)解!解5symsk;%定義一個(gè)關(guān)于k的,儲(chǔ)存各個(gè)狀態(tài)之間轉(zhuǎn)化的符號(hào)矩陣as=[3,2,1,0];ss=[];%能夠存在的狀態(tài)集合fori=1:length(s)%計(jì)算ssforj=1:length(s)ifi==length(s)||i==1||s(i)==s(j)sss=[s(i),s(j)];ss=[ss;sss];endendend[ignore,p]=sort(sum(ss.2),'descend');%按總數(shù)排序,便于計(jì)算狀態(tài)矩陣ss=ss(p,:);a=sym(zeros(length(ss),length(ss)));fori=1:length(ss)forj=i+1:length(ss)m=abs(sum(ss(i,:))-sum(ss(j,:)));ifm==1||m==2%兩個(gè)狀態(tài)的總?cè)藬?shù)之差只能是1或者2ifss(i,:)>=ss(j,:)%保證總?cè)藬?shù)多的狀態(tài)每個(gè)分量都要大a(i,j)=2+(-1)-k;a(j,i)=(-1)-k;endendendenda(1,2)=0;%當(dāng)?shù)谝淮斡?3,3)變到(3,2)時(shí),下一次必為(3,2)變到(3,3),避免無(wú)用功k=1;dd=1;s0=ss(1,:);%初始狀態(tài)S=ss(1,:);%儲(chǔ)存總的狀態(tài)轉(zhuǎn)移方案D=[];%每一步的決策集合whileany(s0)&k<=100b=eval(a);%確定此時(shí)的a矩陣fori=1:length(ss)%判斷s0處于s中的第幾行ifs0(1,:)==ss(i,:)breakendendm=find(b(i,:)==1);%確定此時(shí)的方案集合ifk>1&length(m)>=2m(find(m==dd(k-1)))=[];%避免走回頭路end[ignore,p]=sort(rand(1,length(m)));%在剩下的狀態(tài)中隨機(jī)找一個(gè)可行狀態(tài)s0=ss(m(p(1)),:);k=k+1;dd=[dd;m(p(1))];S=[S;s0];D=[D;abs(S(k,:)-S(k-1,:))];endSD附1:實(shí)驗(yàn)提示第題MATLAB函數(shù)211的用法:對(duì)于向量v,all(v)當(dāng)v的所有元素都非0時(shí),返回^心(值為1);否則返回false(值為0)。(類似丫的所有元素“與”)對(duì)于矩陣X,all(X)返回一個(gè)行向量,每一個(gè)元素值為all作用于X對(duì)應(yīng)列的結(jié)果。all(X,1)作用于列(同all(X)),all(X,2)作用于行。第題MATLAB函數(shù)any的用法:對(duì)于向量v,any(v)當(dāng)v中有元素非0時(shí),返回true(值為1);否則返回false(值為0)。(類似v的所有元素“或”)對(duì)于矩陣X,any(X)返回一個(gè)行向量,每一個(gè)元素值為any作用于X對(duì)應(yīng)列的結(jié)果。any(X,1)作用于列(同any(X)),any(X,2)作用于行。第3題要給出安全過(guò)河的方案。第4題在設(shè)計(jì)允許狀態(tài)集合和允許決策集合時(shí),要把“人”考慮進(jìn)去附2:第1章建立數(shù)學(xué)模型數(shù)學(xué)模型出現(xiàn)在生產(chǎn)、工作和社會(huì)活動(dòng)中:電氣工程師必須建立所要控制的生產(chǎn)過(guò)程的數(shù)學(xué)模型,用這個(gè)模型對(duì)控制裝置作出相應(yīng)的設(shè)計(jì)和計(jì)算,才能實(shí)現(xiàn)有效的過(guò)程控制。氣象工作者為了得到準(zhǔn)確的天氣預(yù)報(bào),一刻也離不開(kāi)根據(jù)氣象站、氣象衛(wèi)星匯集的氣壓、雨量、風(fēng)速等資料建立的數(shù)學(xué)模型。生理醫(yī)學(xué)專家有了藥物濃度注人體內(nèi)隨時(shí)間和空間變化的數(shù)學(xué)模型,就可以分析藥物的療效,有效地指導(dǎo)臨床用藥。城市規(guī)劃工作者需要建立一個(gè)包括人口、經(jīng)濟(jì)、交通、環(huán)境等大系統(tǒng)的數(shù)學(xué)模型,為領(lǐng)導(dǎo)層對(duì)城市發(fā)展規(guī)劃的決策提供科學(xué)根據(jù)。廠長(zhǎng)經(jīng)理們要是能夠根據(jù)產(chǎn)品的需求狀況、生產(chǎn)條件和成本、貯存費(fèi)用等信息,籌劃出一個(gè)合理安排生產(chǎn)和銷售的數(shù)學(xué)模型,一定可以獲得更大的經(jīng)濟(jì)效益。對(duì)于科學(xué)技術(shù)人員和應(yīng)用數(shù)學(xué)工作者來(lái)說(shuō),建立數(shù)學(xué)模型是溝通實(shí)際問(wèn)題與數(shù)學(xué)工具之間聯(lián)系的一座橋梁。從現(xiàn)實(shí)對(duì)象到數(shù)學(xué)模型原型和模型原型指人們?cè)诂F(xiàn)實(shí)世界里關(guān)心、研究或者從事生產(chǎn)、管理的實(shí)際對(duì)象。在科技領(lǐng)域通常使用系統(tǒng)、過(guò)程等詞匯:如機(jī)械系統(tǒng)、電力系統(tǒng)、生態(tài)系統(tǒng)、生命系統(tǒng)、社會(huì)經(jīng)濟(jì)系統(tǒng);又如鋼鐵冶煉過(guò)程、導(dǎo)彈飛行過(guò)程、化學(xué)反應(yīng)過(guò)程、污染擴(kuò)散過(guò)程、生產(chǎn)銷售過(guò)程、計(jì)劃決策過(guò)程等。本書(shū)所述的現(xiàn)實(shí)對(duì)象、研究對(duì)象、實(shí)際問(wèn)題等均指原型。模型則指為了某個(gè)特定目的將原型的某一部分信息簡(jiǎn)縮、提煉而構(gòu)造的原型替代物。模型的基本特征是由構(gòu)造模型的目的決定的:模型不是原型原封不動(dòng)的復(fù)制品,原型有各個(gè)方面和各種層次的特征,而模型只要求反映與某種目的有關(guān)的那些方面和層次。一個(gè)原型,為了不同的目的可以有許多不同的模型:放在展廳里的飛機(jī)模型應(yīng)該在外形上逼真,但是不一定會(huì)飛。參加航模競(jìng)賽的模型飛機(jī)要具有良好的飛行性能,在外觀上不必苛求。在飛機(jī)設(shè)計(jì)、試制過(guò)程中用到的數(shù)學(xué)模型和計(jì)算機(jī)模擬,只要求在數(shù)量規(guī)律上真實(shí)反映飛機(jī)的飛行動(dòng)態(tài)特性,毫不涉及飛機(jī)的實(shí)體。用模型替代原型的方式分類,模型可分為物質(zhì)模型(形象模型):直觀模型、物理模型等。理想模型(抽象模型):思維模型、符號(hào)模型、數(shù)學(xué)模型等。直觀模型:那些供展覽用的實(shí)物模型,以及玩具、照片等,通常把原型的尺寸按比例縮小或放大,主要追求外觀上的逼真。物理模型:科技工作者為一定目的根據(jù)相似原理構(gòu)造的模型,它不僅可以顯示原型的外形或某些特征,而且可以用來(lái)進(jìn)行模擬實(shí)驗(yàn),間接地研究原型的某些規(guī)律。如波浪水箱中的艦艇模型用來(lái)模擬波浪沖擊下艦艇的航行性能,風(fēng)洞中的飛機(jī)模型用來(lái)試驗(yàn)飛機(jī)在氣流中的空氣動(dòng)力學(xué)特性。有些現(xiàn)象直接用原型研究非常困難,更可借助于這類模型,如地震模擬裝置、核爆炸反應(yīng)模擬設(shè)備等。思維模型:指通過(guò)人們對(duì)原型的反復(fù)認(rèn)識(shí),將獲取的知識(shí)以經(jīng)驗(yàn)形式直接貯存于人腦中,從而可以根據(jù)思維或直覺(jué)作出相應(yīng)的決策。如汽車司機(jī)對(duì)方向盤的操縱、一些技藝性較強(qiáng)的工種(如鉗工)的操作。通常說(shuō)的某些領(lǐng)導(dǎo)者憑經(jīng)驗(yàn)作決策也是如此。優(yōu)缺點(diǎn):思維模型便于接受,也可以在一定條件下獲得滿意的結(jié)果,但是它往往帶有模糊性、片面性、主觀性、偶然性等缺點(diǎn),難以對(duì)它的假設(shè)條件進(jìn)行檢驗(yàn),且不便于人們的相互溝通。符號(hào)模型:是在一些約定或假設(shè)下借助于專門的符號(hào)、線條等,按一定形式組合起來(lái)描述原型。如地圖、電路圖、化學(xué)結(jié)構(gòu)式等。具有簡(jiǎn)明、方便、目的性強(qiáng)及非量化等特點(diǎn)。數(shù)學(xué)模型:是由數(shù)字、字母或其它數(shù)學(xué)符號(hào)組成的,描述現(xiàn)實(shí)對(duì)象數(shù)量規(guī)律的數(shù)學(xué)公式、圖形或算法。什么是數(shù)學(xué)模型航行問(wèn)題:甲乙兩地相距750km,船從甲到乙順?biāo)叫行?0h,從乙到甲逆水航行需50h,問(wèn)船速、水速各若干用x,y分別代表船速和水速,可以列出方程(x+y)-30=750,(x-y)-50=750這組方程就是航行問(wèn)題的數(shù)學(xué)模型。方程的解x=20km/h,y=5kn/上最終給出了航行問(wèn)題的答案。建立數(shù)學(xué)模型的基本內(nèi)容:根據(jù)建立數(shù)學(xué)模型的目的和問(wèn)題的背景作出必要的簡(jiǎn)化假設(shè)(航行中設(shè)船速和水速為常數(shù));用字母表示待求的未知量(x,y代表船速和水速);利用相應(yīng)的物理或其它規(guī)律(勻速運(yùn)動(dòng)的距離等于速度乘以時(shí)間),列出數(shù)學(xué)式子(二元一次方程);求出數(shù)學(xué)上的解答(x=20,y=5);用這個(gè)答案解釋原問(wèn)題(船速和水遞分別為20km/h和5km/h)最后用實(shí)際現(xiàn)象驗(yàn)證上述結(jié)果。數(shù)學(xué)模型可以描述為,對(duì)于現(xiàn)實(shí)世界的一個(gè)特定對(duì)象,為了一個(gè)特定目的,根據(jù)特有的內(nèi)在規(guī)律,做出一些必要的簡(jiǎn)化假設(shè),運(yùn)用適當(dāng)?shù)臄?shù)學(xué)工具,得到的一個(gè)數(shù)學(xué)結(jié)構(gòu)。本書(shū)的重點(diǎn)不在于介紹現(xiàn)實(shí)對(duì)象的數(shù)學(xué)模型是什么樣子,而是要討論建立數(shù)學(xué)模型的全過(guò)程。建立數(shù)學(xué)模型簡(jiǎn)稱數(shù)學(xué)建?;蚪!?shù)學(xué)模擬:運(yùn)用數(shù)字式計(jì)算機(jī)的計(jì)算機(jī)模擬。它根據(jù)實(shí)際系統(tǒng)或過(guò)程的特性,按照一定的數(shù)學(xué)規(guī)律用計(jì)算機(jī)程序語(yǔ)言模擬實(shí)際運(yùn)行狀況,并依據(jù)大量模擬結(jié)果對(duì)系統(tǒng)或過(guò)程進(jìn)行定量分析。例如,通過(guò)各種工件在不同機(jī)器上按一定工藝順序加工的模擬,能夠識(shí)別生產(chǎn)過(guò)程中的瓶頸環(huán)節(jié);通過(guò)高速公路上交通流的模擬,可以分析車輛在路段上的分布特別是堵塞的狀況。與用物理模型的模擬實(shí)驗(yàn)相比,計(jì)算機(jī)模擬有明顯的優(yōu)點(diǎn):成本低、時(shí)間短、重復(fù)性高、靈活性強(qiáng)。數(shù)學(xué)建模與計(jì)算機(jī)模擬有人把計(jì)算機(jī)模擬作為建立數(shù)學(xué)模型的手段之一。但是數(shù)學(xué)模型在某種意義下描述了對(duì)象內(nèi)在特性的數(shù)量關(guān)系,其結(jié)果容易推廣,特別是得到了解析形式答案時(shí),更易推廣。而計(jì)算機(jī)模擬則完全模仿對(duì)象的實(shí)際演變過(guò)程,難以從得到的數(shù)字結(jié)果分析對(duì)象的內(nèi)在規(guī)律。當(dāng)然,對(duì)于那些因內(nèi)部機(jī)理過(guò)于復(fù)雜、目前尚難以建立數(shù)學(xué)模型的實(shí)際對(duì)象,用計(jì)算機(jī)模擬獲得一些定量結(jié)果,可稱是解決問(wèn)題的有效手段。數(shù)學(xué)建模的重要意義P4數(shù)學(xué),作為一門研究現(xiàn)實(shí)世界數(shù)量關(guān)系和空間形式的科學(xué),在它產(chǎn)生和發(fā)展的歷史長(zhǎng)河中,一直是和人們生活的實(shí)際需要密切相關(guān)的。作為用數(shù)學(xué)方法解決實(shí)際問(wèn)題的第一步,數(shù)學(xué)建模自然有著與數(shù)學(xué)同樣悠久的歷史。兩千多年以前創(chuàng)立的歐幾里德幾何,17世紀(jì)發(fā)現(xiàn)的牛頓萬(wàn)有引力定律,都是科學(xué)發(fā)展史上數(shù)學(xué)建模的成功范例。進(jìn)入20世紀(jì)以來(lái),隨著數(shù)學(xué)以空前的廣度和深度向一切領(lǐng)域的滲透,和電子計(jì)算機(jī)的出現(xiàn)與飛速發(fā)展,數(shù)學(xué)建模越來(lái)越受到人們的重視。1)在一般工程技術(shù)領(lǐng)域,數(shù)學(xué)建模仍然大有用武之地。在以聲、光、熱、力、電這些物理學(xué)科為基礎(chǔ)的諸如機(jī)械、電機(jī)、土木、水利等工程技術(shù)領(lǐng)域中,數(shù)學(xué)建模的普遍性和重要性不言而喻。雖然這里的基本模型是已有的,但是由于新技術(shù)、新工藝的不斷涌現(xiàn),提出了許多需要用數(shù)學(xué)方法解決的新問(wèn)題;高速、大型計(jì)算機(jī)的飛速發(fā)展,使得過(guò)去即便有了數(shù)學(xué)模型也無(wú)法求解的課題(如大型水壩的應(yīng)力計(jì)算、中長(zhǎng)期天氣預(yù)報(bào)等)迎刃而解;建立在數(shù)學(xué)模型和計(jì)算機(jī)模擬基礎(chǔ)上的CAD技術(shù),以其快速、經(jīng)濟(jì)、方便等優(yōu)勢(shì),大量地替代了傳統(tǒng)工程設(shè)計(jì)中的現(xiàn)場(chǎng)實(shí)驗(yàn)、物理模擬等手段。2)在高新技術(shù)領(lǐng)域,數(shù)學(xué)建模幾乎是必不可少的工具。無(wú)論是發(fā)展通訊、航天、微電子、自動(dòng)化等高新技術(shù)本身,還是將高新技術(shù)用于傳統(tǒng)工業(yè)去創(chuàng)造新工藝、開(kāi)發(fā)新產(chǎn)品,計(jì)算機(jī)技術(shù)支持下的建模和模擬都是經(jīng)常使用的有效手段。數(shù)學(xué)建模、數(shù)值計(jì)算和計(jì)算機(jī)圖形學(xué)等相結(jié)合形成的計(jì)算機(jī)軟件,已經(jīng)被固化于產(chǎn)品中,在許多高新技術(shù)領(lǐng)域起著核心作用,被認(rèn)為是高新技術(shù)的特征之一。在這個(gè)意義上,數(shù)學(xué)不再僅僅作為一門科學(xué),是許多技術(shù)的基礎(chǔ),而且直接定向了技術(shù)的前臺(tái)。高技術(shù)本質(zhì)上是一種數(shù)學(xué)技術(shù)。3)數(shù)學(xué)迅速進(jìn)入一些新領(lǐng)域,為數(shù)學(xué)建模開(kāi)拓了許多新的處女她。隨著數(shù)學(xué)向諸如經(jīng)濟(jì)、人口、生態(tài)、地質(zhì)等所謂非物理領(lǐng)域的滲透,一些交叉學(xué)科如計(jì)量經(jīng)濟(jì)學(xué)、人口控制論、數(shù)學(xué)生態(tài)學(xué)、數(shù)學(xué)地質(zhì)學(xué)等應(yīng)運(yùn)而生。這里一般地說(shuō)不存在作為支配關(guān)系的物理定律,當(dāng)用數(shù)學(xué)方法研究這些領(lǐng)域中的定量關(guān)系時(shí),數(shù)學(xué)建模就成為首要的、關(guān)鍵的步驟和這些學(xué)科發(fā)展與應(yīng)用的基礎(chǔ)。在這些領(lǐng)城里建立不同類型、不同方法、不同深淺程度的模型的余地相當(dāng)大,為數(shù)學(xué)建模提供了廣闊的新天地。分析與設(shè)計(jì)例如描述藥物濃度在人體內(nèi)的變化規(guī)律以分析藥物的療效;建立跨音速流和激波的數(shù)學(xué)模型,用數(shù)值模擬設(shè)計(jì)新的飛機(jī)翼型。預(yù)報(bào)與決策生產(chǎn)過(guò)程中產(chǎn)品質(zhì)量指標(biāo)的預(yù)報(bào)、氣象預(yù)報(bào)、人口預(yù)報(bào)、經(jīng)濟(jì)增長(zhǎng)預(yù)報(bào)等等,都要有預(yù)報(bào)模型;使經(jīng)濟(jì)效益最大的價(jià)格策略、使費(fèi)用最少的設(shè)備維修方案,是決策模型的例子??刂婆c優(yōu)化電力、化工生產(chǎn)過(guò)程的最優(yōu)控制、零件設(shè)計(jì)中的參數(shù)優(yōu)化,要以數(shù)學(xué)模型為前提。建立大系統(tǒng)拉制與優(yōu)化的數(shù)學(xué)模型,是迫切需要和十分棘手的課題。規(guī)劃與管理生產(chǎn)計(jì)劃、資源配置、運(yùn)輸網(wǎng)絡(luò)規(guī)劃、水庫(kù)優(yōu)化調(diào)度、以及排隊(duì)策略、物資管理等,都可以用數(shù)學(xué)規(guī)劃模型解決。數(shù)學(xué)建模與計(jì)算機(jī)技術(shù)的關(guān)系密不可分。一方面,像新型飛機(jī)設(shè)計(jì)、石油勘探數(shù)據(jù)處理中數(shù)學(xué)模型的求解當(dāng)然離不開(kāi)巨型計(jì)算機(jī),而微型電腦的普及更使數(shù)學(xué)建模逐步進(jìn)入人們的日?;顒?dòng)。比如當(dāng)一位公司經(jīng)理根據(jù)客戶提出的產(chǎn)品數(shù)量、質(zhì)量、交貨期等要求,用手提電腦與客戶進(jìn)行價(jià)格談判時(shí),您不會(huì)懷疑他的電腦中貯存了由公司的各種資源、產(chǎn)品工藝流程及客戶需求等數(shù)據(jù)研制的數(shù)學(xué)模型一快速報(bào)價(jià)系統(tǒng)和生產(chǎn)計(jì)劃系統(tǒng)。另一方面,以數(shù)字化為特征的信息正以爆炸之勢(shì)涌入計(jì)算機(jī),去偽存真、歸納整理、分析現(xiàn)象、顯示結(jié)果……,計(jì)算機(jī)需要人們給它以思維的能力,這些當(dāng)然要求助于數(shù)學(xué)模型。把計(jì)算機(jī)技術(shù)與數(shù)學(xué)建模在知識(shí)經(jīng)濟(jì)中的作用比喻為如虎添翼,是恰如其分的?!皵?shù)學(xué)是一種關(guān)鍵的、普遍的、可以應(yīng)用的技術(shù)”數(shù)學(xué)“由研究到工業(yè)領(lǐng)域的技術(shù)轉(zhuǎn)化,對(duì)加強(qiáng)經(jīng)濟(jì)競(jìng)爭(zhēng)力具有重要意義”而“計(jì)算和建模重新成為中心課題,它們是數(shù)學(xué)科學(xué)技術(shù)轉(zhuǎn)化的主要途徑”。建模示例之一椅子能在不平的地面上放穩(wěn)嗎P6如何作出合理的、簡(jiǎn)化的假設(shè),用數(shù)學(xué)語(yǔ)言確切地表述實(shí)際問(wèn)題,模型的結(jié)果怎樣解釋實(shí)際現(xiàn)象。問(wèn)題描述把椅子往不平的地面上一放,通常只有三只腳著地,放不穩(wěn),然而只需稍挪動(dòng)幾次,就可以使四只腳同時(shí)著地,放穩(wěn)了。這個(gè)看來(lái)似乎與數(shù)學(xué)無(wú)關(guān)的現(xiàn)象能用數(shù)學(xué)語(yǔ)言給以表述,并用數(shù)學(xué)工具來(lái)證實(shí)嗎模型假設(shè).椅子四條腿一樣長(zhǎng),椅腳與地面接觸處可視為一個(gè)點(diǎn),四腳的連線呈正方形。.地面高度是連續(xù)變化的,沿任何方向都不會(huì)出現(xiàn)間斷(沒(méi)有像臺(tái)階那樣的情況),即地面可視為數(shù)學(xué)上的連續(xù)曲面。.對(duì)于椅腳的間距和椅腿的長(zhǎng)度而言,地面是相對(duì)平坦的,使椅子在任何位置至少有三只腳同時(shí)著地。假設(shè)1顯然是合理的。假設(shè)2相當(dāng)于給出了椅子能放穩(wěn)的條件,因?yàn)槿舻孛娓叨炔贿B續(xù),譬如在有臺(tái)階的地方是無(wú)法使四只腳同時(shí)著地的。假設(shè)3是要排除這樣的情況:地面上與椅腳間距和椅腿長(zhǎng)度的尺寸大小相當(dāng)?shù)姆秶鷥?nèi),出現(xiàn)深溝或凸峰(即使是連續(xù)變化的),致使三只腳無(wú)法同時(shí)著地。模型構(gòu)成中心問(wèn)題是用數(shù)學(xué)語(yǔ)言把椅子四只腳同時(shí)著地的條件和結(jié)論表示出來(lái)。首先,用變量表示椅子的位置。注意到椅腳連線呈正方形,以中心為對(duì)稱點(diǎn),正方形繞中心的旋轉(zhuǎn)正好代表了椅子位置的改變,于是可以用旋轉(zhuǎn)角度這一變量表示椅子的位置。圖1變量。表示椅子的位置在圖1中椅腳連線為正方形ABCD,對(duì)角線AC與x軸重合,椅子繞中心點(diǎn)O旋轉(zhuǎn)角度9后,正方形ABCD轉(zhuǎn)至A'B'C'D'的位置,所以對(duì)角線AC與x軸的夾角9表示了椅子的位置。其次,把椅腳著地用數(shù)學(xué)符號(hào)表示出來(lái)。若用某個(gè)變量表示椅腳與地面的豎直距離,那么當(dāng)這個(gè)距離為0時(shí)就是椅腳著地了。椅子在不同位置時(shí)椅腳與地面的距離不同,所以這個(gè)距離是椅子位置變量9的函數(shù)。雖然椅于有四只腳,因而有四個(gè)距離,但是由于正方形的中心對(duì)稱性,只要設(shè)兩個(gè)距離函數(shù)就行了。記A,C兩腳與地面距離之和為f(9),B,D兩腳與地面距離之和為g(9)(f(9),g(9)知)。由假設(shè)2,f和g都是連續(xù)函數(shù)。由假設(shè)3,椅子在任何位置至少有三只腳著地。所以對(duì)于任意的9,f(9)和g(9)中至少有一個(gè)為零。當(dāng)9=0時(shí)不妨設(shè)算g(9)=0,f(9)>0。這樣,改變椅子的位置使四只腳同時(shí)著地,就歸結(jié)為數(shù)學(xué)命題:己知f(9)和g(9)是9的連續(xù)函數(shù),對(duì)任意9,f(9)?g(9)=0,且g(9)=0,f(9)>0。證明存在90,使f(9?」g(9?=0。模型求解將椅子旋轉(zhuǎn)900,對(duì)角線AC與BD互換。由g(0)=0和f(0)>0可知g(90o)>0和f(900)=0。令h(9)=f(0)-g(9),則h(0)>0和h(90。)<0。由f和g的連續(xù)性知h也是連續(xù)函數(shù)。根據(jù)連續(xù)函數(shù)的基本性質(zhì),必存在90(0<90<900)使h(0)=0。即f(00)=g區(qū))。最后,因?yàn)閒(0。)?g(90)=0,所以f(0。)=g(00)=0。模型解釋和驗(yàn)證(略)。評(píng)注這個(gè)模型的巧妙之處在于用一元變量9表示椅子的位置,用0的兩個(gè)函數(shù)表示椅子四腳與地面的距離,進(jìn)而把模型假設(shè)和椅腳同時(shí)著地的結(jié)論用簡(jiǎn)單、精確的數(shù)學(xué)語(yǔ)言表達(dá)出來(lái),構(gòu)成了這個(gè)實(shí)際問(wèn)題的數(shù)學(xué)模型。模型假設(shè)中“四腳連線呈正方形”不是本質(zhì)的,讀者可以考慮四腳連線呈長(zhǎng)方形的情況(習(xí)題4)。建模示例之二商人們?cè)鯓影踩^(guò)河P8問(wèn)題描述三名商人各帶一個(gè)隨從乘船渡河,一只小船只能容納二人,由他們自己劃行。隨從們密約,在河的任一岸,一旦隨從的人數(shù)比商人多,就殺人越貨。但是如何乘船渡河的大權(quán)掌握在商人們手中,商人們?cè)鯓硬拍馨踩珊幽啬P图僭O(shè)由于這個(gè)問(wèn)題已經(jīng)理想化了,所以不必再作假設(shè)。安全渡河問(wèn)題可以視為一個(gè)多步?jīng)Q策過(guò)程。每一步,即船由此岸駛向彼岸或從彼岸駛回此岸,都要對(duì)船上的人員(商人、隨從各幾人)作出決策,在保證安全的前提下(兩岸的隨從數(shù)都不比商人數(shù)多),在有限步內(nèi)使全部人員過(guò)河。狀態(tài)(變量):表示某一岸的人員狀況。決策(變量):表示船上的人員狀況。找出狀態(tài)隨決策變化的規(guī)律。問(wèn)題轉(zhuǎn)化為在狀態(tài)的允許變化范圍內(nèi)(即安全渡河條件),確定每一步的決策,達(dá)到渡河的目標(biāo)。模型構(gòu)成記第k次渡河前此岸的商人數(shù)為\,隨從數(shù)為yk,k=1.2....,&yk=0,1,2,3。將二維向量或=(xk,yk)定義為狀態(tài)。安全渡河條件下的狀態(tài)集合稱為允許狀態(tài)集合,記作S。S={(x,y)|x=0,y=0,1,2,3;x=3,y=0,1,2,3;x=y=1,2}記第k次渡船上的商人數(shù)為”,隨從數(shù)為\將二維向量4=(uk,vk)定義為決策。允許決策集合記作D,由小船的容量可知D={(u,v)|1Wu+vW2,u,v=0,1,2}因?yàn)閗為奇數(shù)時(shí)船從此岸駛向彼岸,k為偶數(shù)時(shí)船由彼岸駛回此岸,所以狀態(tài)sk隨決策dk變化的規(guī)律是sk+i=sk+(T)kdk該式稱狀態(tài)轉(zhuǎn)移律。多步?jīng)Q策模型:求決策dk£D(k=1,2 n ),使?fàn)顟B(tài)skeS按照轉(zhuǎn)移律,由初始狀態(tài)si=(3,3)經(jīng)有限步門到達(dá)狀態(tài),二(0,0)。模型求解用圖解法。圖2安全渡河問(wèn)題的圖解法方格點(diǎn)表示狀態(tài)s=(x,y)。允許狀態(tài)集合S是用圓點(diǎn)標(biāo)出的10個(gè)格子點(diǎn)。允許決策dk是沿方格線移動(dòng)1或2格,k為奇數(shù)時(shí)向左、下方移動(dòng),k為偶數(shù)時(shí)向右、上方移動(dòng)。要確定一系列的dk使由s1=(3.3)經(jīng)過(guò)那些圓點(diǎn)最終移至原點(diǎn)(0.0)。決策步k狀態(tài)s,決策d1330223101332024300153120611117222080201903021001011102021200評(píng)注這是一種規(guī)格化的方法,所建立的多步?jīng)Q策模型可用計(jì)算機(jī)求解,具有推廣的意義。譬如當(dāng)商人和隨從人數(shù)增加或小船的容量加大時(shí),靠邏輯思考就困難了,而用這種模型則仍可方便地求解?!糓ATLAB解009〗考慮4名商人各帶一個(gè)隨從的情況(小船同前)。適當(dāng)?shù)卦O(shè)置狀態(tài)和決策,確定狀態(tài)轉(zhuǎn)移律,建立多步?jīng)Q策模型,是有效地解決很廣泛的一類問(wèn)題的方法。建模示例之三如何施救藥物中毒P9一天夜晚,你作為見(jiàn)習(xí)醫(yī)生正在醫(yī)院內(nèi)科急診室值班,兩位家長(zhǎng)帶首一個(gè)孩子急匆匆進(jìn)來(lái),訴說(shuō)兩小時(shí)前孩子一口氣誤吞下11片治療哮喘病的、劑量為每片100mg的氨茶堿片,已經(jīng)出現(xiàn)嘔吐、頭暈等不良癥狀。按照藥品使用說(shuō)明書(shū),氨茶堿的成人用量一次是100~200mg,兒童是3~5mg/kg,如果過(guò)量服用,可使血藥濃度(單位血液容積中的藥量)過(guò)高,當(dāng)血藥濃度達(dá)到100Ug/ml時(shí),會(huì)出現(xiàn)嚴(yán)重中毒,達(dá)到200ug/ml則可致命。作為一位醫(yī)生你清楚地知道,由于孩子服藥是在兩小時(shí)前,現(xiàn)在藥物已經(jīng)從胃進(jìn)入腸道,無(wú)法再用刺激嘔吐的辦法排除。當(dāng)前需要作出判斷的是,孩子的血藥濃度會(huì)不會(huì)達(dá)到100口8為1甚至200Ug/ml,如果會(huì)達(dá)到,則臨床上應(yīng)采取緊急方案來(lái)救治孩子。問(wèn)題的調(diào)查與分析人體服用一定量的藥物后,血藥濃度與人體的血液總量有關(guān)。一般來(lái)說(shuō),血液總量約為體重的7%~8%即體重50~60kg的成年人有4000ml左右的血液。目測(cè)這個(gè)孩子的體重約為成年人的一半,可認(rèn)為其血液總量約為2000mI。由此,血液系統(tǒng)中的血藥濃度與藥量之間可以相互轉(zhuǎn)換.藥物口服后迅速進(jìn)入胃腸道,再由胃腸道的外壁進(jìn)入血液循環(huán)系統(tǒng),被血液吸收。胃腸道中藥物的轉(zhuǎn)移率,即血液系統(tǒng)的吸收率,一般與胃腸道中的藥量成正比。藥物在被血液吸收的同時(shí),又通過(guò)代謝作用由腎臟排出體外,排除率一般與血液中的藥量成正比。如果認(rèn)為整個(gè)血液系統(tǒng)內(nèi)藥物的分布,即血藥濃度是均勻的,可以將血液系統(tǒng)看作一個(gè)房室,建立所謂一室模型。血液系統(tǒng)對(duì)藥物的吸收率和排除率可以由半衰期確定,從藥品說(shuō)明書(shū)可知,氨茶堿吸收的半衰期約5h,排除的半衰期約6ho如果血藥濃度達(dá)到危險(xiǎn)的水平,臨床上施救的一種辦法是采用口服活性炭來(lái)吸附藥物,可使藥物的排除率增加到原來(lái)(人體自身)的2倍,另一種辦法是進(jìn)行體外血液透析,藥物排除率可增加到原來(lái)的6倍,但是安全性不能得到充分保證,建議盡量少用。模型的假設(shè)和建立為了判斷孩子的血藥濃度會(huì)不會(huì)達(dá)到危險(xiǎn)的水平,需要尋求胃腸道和血液系統(tǒng)中的藥量隨時(shí)間變化的規(guī)律。記胃腸道中的藥量為乂(t),血液系統(tǒng)中的藥量為丫(t),時(shí)間t以孩子誤服藥的時(shí)刻為起點(diǎn)(t=0)。根據(jù)前面的調(diào)查與分析可作以下假設(shè):假設(shè).胃腸道中藥物向血液系統(tǒng)的轉(zhuǎn)移率與藥量x(t)成正比,比例系數(shù)記作入(>0)總劑量1100mg的藥物在t=0瞬間進(jìn)入胃腸道。.血液系統(tǒng)中藥物的排除率與藥量y(t)成正比,比例系數(shù)記作U(>0),t=0時(shí)血液中無(wú)藥物。.氨茶堿被吸收的半衰期為5h,排除的半衰期為6h.孩子的血液總量為2000mlo根據(jù)假設(shè)對(duì)胃腸道中藥量x(t)和血液系統(tǒng)中藥量y(t)建立如下模型。由假設(shè)1,x(0)=1100巾8,隨著藥物從胃腸道向血液系統(tǒng)的轉(zhuǎn)移,x(t)下降的速度與x(t)本身成正比(比例系數(shù)入>0),所以x(t)滿足微分方程dx—二—九x,x(0)=1100 (1)dt

由假設(shè)2,y(0)=0,藥物從胃腸道向血液系統(tǒng)的轉(zhuǎn)移相當(dāng)于血液系統(tǒng)對(duì)藥物的吸收,y(t)由于吸收作用而增長(zhǎng)的速度是入x:,由于排除而減少的速度與丫(t)本身成正比(比例系數(shù)u>0),所以y(t)滿足微分方程(2)?XT,,,(0)=0(2)方程(1),(2)中的參數(shù)人和U可由假設(shè)3中的半衰期確定。模型(含參數(shù))=一九XX(0)=1100,y(0)=0=一九X—|L1y模型求解微分方程(1)是可分離變量方程,容易得到x(t)=1100e-入t(3)表明胃腸道中的藥量x(t)隨時(shí)間單調(diào)減少并趨于0。為了確定入,利用藥物吸收的半哀期為5h,即x(5)=1100e-5入=x(0)/2=1100/2,得入=(ln2)/5=6(l/h)將(3)代入方程(2),得到一階線性微分方程,求解得y(ty(t)=1100人. 、 (e-r—e-入t)入一JLX(4)表明血液系統(tǒng)中的藥量丫(t)隨時(shí)間先增后減并趨于0。為了根據(jù)藥物排除的半衰期為6h來(lái)確定U,考慮血液系統(tǒng)只對(duì)藥物進(jìn)行排除的情況,這時(shí)y(t)滿足方程孚=-",若設(shè)在某時(shí)刻T有y(t)=a,則y(t)=ae-u(tdt-T),t2t。利用y(t+6)=a/2,可得U=(ln2)/6=5(l/h)將格入=6和U=5代入(3),(4),得(t的單位:h;y的單位:mg)模型(無(wú)參數(shù))x(t)=1100e-6t (5)y(t)=6600(e-51-e-61)(6)結(jié)果分析用MATLAB軟件對(duì)(5),(6)作圖,得圖1胃腸道中藥量x(t)和血液系統(tǒng)中藥量y(t)根據(jù)假設(shè)4,孩子的血液總量為2000ml,出現(xiàn)嚴(yán)重中毒的血藥濃度100ug/ml和致命的血藥濃度200ug/ml分別相當(dāng)于血液中藥量y達(dá)到200mg和400mg。由圖1看出,藥量丫在約2h達(dá)到200mg,即孩子到達(dá)醫(yī)院時(shí)已經(jīng)出現(xiàn)嚴(yán)重中毒;如不及時(shí)施救,藥量丫將在約5h(到醫(yī)院后3h)達(dá)到400mg。由(6)容易精確地算出孩子到達(dá)醫(yī)院時(shí)血液中藥量y(2)=mh,而計(jì)算藥量達(dá)到400mg的時(shí)間(記作t1),則需要解非線性方程6600(e-0.1155t]—e-0.1386t])=400用MATLAB軟件計(jì)算可以得到11=ho由圖1還可以看出,血液中藥量y(t)達(dá)到最大值的時(shí)間約在t=8h,即到達(dá)醫(yī)院后6h,其精確值可由方程(2)或解(4)計(jì)算,記作t,,t=":/6>)=7,89h,2 2入-n且丫(t2)=mgo利用這個(gè)模型還可以確定對(duì)于孩子及成人服用氨茶堿引起嚴(yán)重中毒和致命的最小劑量(習(xí)題6)。施救方案根據(jù)模型計(jì)算的結(jié)果,如不及時(shí)施救,貧子會(huì)有生命危險(xiǎn)。根據(jù)調(diào)查,如采用口服活性炭來(lái)吸附藥物的辦法施救,藥物助的除率可增加到U的2倍,即0。讓我們計(jì)算一下,采用這種施救方案血液中藥量y(t)的變化情況。設(shè)孩子到達(dá)醫(yī)院時(shí)刻(t=2)就開(kāi)始施救,前面已經(jīng)算出y(2)=,由(2),(3),新的模型為(血液中藥量記作z(t))新模型(含參數(shù))(7)dz=X%-nz(7)<dt zt>2,z(2)=236.5%=1100e-%解出入=6(不變),R=0,得新模型(無(wú)參數(shù))z(t)=1650e-0.13861-1609.5e-0.23101,t>2 (8)用MATLAB軟件對(duì)(8)作圖。圖2施救后血液系統(tǒng)中藥量z(t)(x(t),y(t)同圖1)由圖2可看出,施救后血液中藥量z(t)達(dá)到最大值的時(shí)間約在t=5h,即到達(dá)醫(yī)院施救后3h,其精確值可由(8)算出,記作t3,t3=h,且z(t3)=mg,遠(yuǎn)低于y(t)的最大值和致命水平。圖2還表明,雖然采用了口服活性炭來(lái)吸附藥物的辦法施救,血液中藥量7(t)仍有一段時(shí)間在上升,說(shuō)明用這種方法藥物的排除率增加還不夠大。不仿計(jì)算一下,如果要使z(t)在施救后(t>2)立即下降,排除率R至少應(yīng)該多大。z(t)在t=2取得極大值,相當(dāng)于t=2時(shí)(7)式滿足dz=(九%-nz)|=0 (9)dt t=2t=2由(5)算出x(2)二,再利用前面已有的z(2)=和人=6,得R=5,約為原來(lái)(人體自身U=5)的倍。如果采用體外血液透析的辦法,藥物排除率可增加到U=5X6=,血液中藥量下降更快,讀者可以用這個(gè)U重新求解(7)并作圖(習(xí)題7)。至于臨床上究竟是否需要采取這種辦法,當(dāng)由醫(yī)生綜合考慮并征求病人和家屬意見(jiàn)后確定。數(shù)學(xué)建模的基本方法和步驟P13我們不能指望歸納出若干條準(zhǔn)則,適用于一切實(shí)際問(wèn)題的數(shù)學(xué)建模方法。下面所謂基本方法不是針對(duì)具體問(wèn)題而是從方法論的意義上講的。數(shù)學(xué)建模的基本方法建模方法可分為機(jī)理分析和測(cè)試分析兩種。機(jī)理分析是根據(jù)對(duì)客觀事物特性的認(rèn)識(shí),找出反映內(nèi)部機(jī)理的數(shù)量規(guī)律,建立的模型常有明確的物理或現(xiàn)實(shí)意義。測(cè)試分析將研究對(duì)象看作一個(gè)“黑箱”系統(tǒng)(它的內(nèi)部機(jī)理看不清楚),通過(guò)對(duì)系統(tǒng)輸入、輸出數(shù)據(jù)的測(cè)量和統(tǒng)計(jì)分析,按照一定的準(zhǔn)則找出與數(shù)據(jù)擬合得最好的模型。面對(duì)一個(gè)實(shí)際問(wèn)題用哪一種方法建模。主要取決于人們對(duì)研究對(duì)象的了解程度和建模目的.若掌握了一些內(nèi)部機(jī)理的知識(shí),模型也要求具有反映內(nèi)在特征的物理意義,應(yīng)以機(jī)理分析為主;若對(duì)象的內(nèi)部規(guī)律基本上不清楚,模型也不需要反映內(nèi)部特性(例如僅用于對(duì)輸出作預(yù)報(bào)),可用測(cè)試分析;對(duì)于許多實(shí)際問(wèn)題還常常將兩種方法結(jié)合起來(lái)建模,即用機(jī)理分析建立模型的結(jié)構(gòu),用測(cè)試分析確定模型的參數(shù)。機(jī)理分析主要是通過(guò)實(shí)例研究來(lái)學(xué)習(xí)。測(cè)試分析有一套完整的數(shù)學(xué)方法,第10章統(tǒng)計(jì)回歸模型是其中的一小部分。以動(dòng)態(tài)系統(tǒng)為主的測(cè)試分析稱為系統(tǒng)辨識(shí),是一門專門學(xué)科。數(shù)學(xué)建模的一般步驟機(jī)理分析方法建模的一般過(guò)程,如圖1所示。圖1數(shù)學(xué)建模步驟示意圖模型準(zhǔn)備了解問(wèn)題的實(shí)際背景,明確建模目的,搜集必要的信息如現(xiàn)象、數(shù)據(jù)等,盡量弄清對(duì)象的主要特征,形成一個(gè)比較清晰的“問(wèn)題”,由此初步確定用哪一類模型。模型假設(shè)根據(jù)對(duì)象的特征和建模目的,抓住問(wèn)題的本質(zhì),忽略次要因素,作出必要的、合理的簡(jiǎn)化假設(shè)。假設(shè)作得不合理或太簡(jiǎn)單,會(huì)導(dǎo)致錯(cuò)誤的或無(wú)用的模型;假設(shè)作得過(guò)分詳細(xì),試圖把復(fù)雜對(duì)象的眾多因素都考慮進(jìn)去,會(huì)使你很難或無(wú)法繼續(xù)下一步的工作。常常需要在合理與簡(jiǎn)化之間作出恰當(dāng)?shù)恼壑浴W骷僭O(shè)的依據(jù)一是出于對(duì)問(wèn)題內(nèi)在規(guī)律的認(rèn)識(shí);二是來(lái)自對(duì)現(xiàn)象、數(shù)據(jù)的分析,以及二者的綜合。想像力、洞察力、判斷力,以及經(jīng)驗(yàn)、在模型假設(shè)中起著重要作用。模型構(gòu)成根據(jù)所作的假設(shè),用數(shù)學(xué)的語(yǔ)言、符號(hào)描述對(duì)象的內(nèi)在規(guī)律,建立包含常量、變量等的數(shù)學(xué)模型(如優(yōu)化模型、微分方程模型、差分方程模型、圖的模型等)。需要一些相關(guān)學(xué)科的專門知識(shí)和應(yīng)用數(shù)學(xué)方面的知識(shí)。要善于發(fā)揮想像力,注意使用類比法,分析對(duì)象與熟悉的其它對(duì)象的共性,借用已有的模型。建模時(shí)還應(yīng)遵循的一個(gè)原則:盡量采用簡(jiǎn)單的數(shù)學(xué)工具,因?yàn)槟愕哪P涂偸窍M嗟娜肆私夂褪褂?,而不是只供少?shù)專家欣賞。模型求解可以采用解方程、畫圖形、優(yōu)化方法、數(shù)值計(jì)算、統(tǒng)計(jì)分析等各種數(shù)學(xué)方法,特別是數(shù)學(xué)軟件和計(jì)算機(jī)技術(shù)。模型分析對(duì)求解結(jié)果進(jìn)行數(shù)學(xué)上的分析,如結(jié)果的誤差分橋、統(tǒng)計(jì)分析、模型對(duì)數(shù)據(jù)的靈敏性分析、對(duì)假設(shè)的強(qiáng)健性分析等.模型檢驗(yàn)把求解和分析結(jié)果翻譯回到實(shí)際問(wèn)題,與實(shí)際的現(xiàn)象、數(shù)據(jù)比較,檢驗(yàn)?zāi)P偷暮侠硇院瓦m用性。若結(jié)果與實(shí)際不符,問(wèn)題常出在模型假設(shè)上,應(yīng)修改、補(bǔ)充假設(shè),重新建模。這一步對(duì)于模型是否真的有用非常關(guān)鍵,要以嚴(yán)肅認(rèn)真的態(tài)度對(duì)待。有些模型要經(jīng)過(guò)幾次反復(fù),不斷完善,直到檢驗(yàn)結(jié)果獲得某種程度上的滿意。模型應(yīng)用應(yīng)用的方式與問(wèn)題性質(zhì)、建模目的及最終的結(jié)果有關(guān)。并不是所有問(wèn)題的建模都要經(jīng)過(guò)這些步驟,有時(shí)各步驟之間的界限也不那么分明,建模時(shí)不要拘泥于形式上的按部就班。數(shù)學(xué)建模的全過(guò)程從現(xiàn)實(shí)對(duì)象到數(shù)學(xué)模型,再?gòu)臄?shù)學(xué)模型回到現(xiàn)實(shí)對(duì)象的循環(huán)。圖2數(shù)學(xué)建模的全過(guò)程表述是將現(xiàn)實(shí)問(wèn)題“翻譯”成抽象的數(shù)學(xué)問(wèn)題,屬于歸納法;求解屬于演繹法;歸納是依據(jù)個(gè)別現(xiàn)象推出一般規(guī)律;演繹是按照普遍原理考察特定對(duì)象,導(dǎo)出結(jié)論。因?yàn)槿魏问挛锏谋举|(zhì)都要通過(guò)現(xiàn)象來(lái)反映,必然要透過(guò)偶然來(lái)表露,所以正確的歸納不是主觀、盲目的,而是有客觀基礎(chǔ)的,但也往往是不精細(xì)的、帶感性的,不易直接檢驗(yàn)其正確性。演繹利用嚴(yán)格的邏輯推理,對(duì)解釋現(xiàn)象、作出科學(xué)預(yù)見(jiàn)具有重要意義,但是它要以歸納的結(jié)論作為公理化形式的前提,只能在這個(gè)的提下保證其正確性。歸納是演繹的基礎(chǔ),演繹是歸納的指導(dǎo)。解釋是把數(shù)學(xué)模型的解答“翻譯”回到現(xiàn)實(shí)對(duì)象,給出分析、預(yù)報(bào)、決策或控制的結(jié)果。最后,作為這個(gè)過(guò)程的重要一環(huán).這些結(jié)果需要用實(shí)際的信息加以驗(yàn)證現(xiàn)實(shí)對(duì)象和數(shù)學(xué)模型的關(guān)系一方面,數(shù)學(xué)模型是將現(xiàn)象加以歸納、抽象的產(chǎn)物,它源于現(xiàn)實(shí),又高于現(xiàn)實(shí);另一方面,只有當(dāng)數(shù)學(xué)建模結(jié)果經(jīng)受住現(xiàn)實(shí)對(duì)象的檢驗(yàn)時(shí),才可以用來(lái)指導(dǎo)實(shí)際,完成實(shí)踐一理論一實(shí)踐這一循環(huán)。數(shù)學(xué)模型的特點(diǎn)和分類P18數(shù)學(xué)建模是利用數(shù)學(xué)工具解決實(shí)際問(wèn)題的重要手段,得到的模型有許多優(yōu)點(diǎn),也有一些弱點(diǎn)。數(shù)學(xué)模型的特點(diǎn)模型的逼真性和可行性希望模型盡可能逼近研究對(duì)象,但是一個(gè)非常逼真的模型在數(shù)學(xué)上常常是難于處理的,因而不容易達(dá)到通過(guò)建模對(duì)現(xiàn)實(shí)對(duì)象進(jìn)行分析、預(yù)報(bào)、決策或控制的目的,即實(shí)用上不可行。另一方面,越逼真的模型常常越復(fù)雜,即使數(shù)學(xué)上能處理,這樣的模型應(yīng)用時(shí)所需要的“費(fèi)用”也相當(dāng)高,而高“費(fèi)用”不一定與復(fù)雜模型取得的“效益”相匹配。所以建模時(shí)往往需要在模型的逼真性與可行性,“費(fèi)用”與“效益”之間作出折衷和抉擇。模型的漸進(jìn)性稍微復(fù)雜一些的實(shí)際問(wèn)題的建模通常不可能一次成功,要經(jīng)過(guò)建模過(guò)程的反復(fù)迭代,包括由簡(jiǎn)到繁,也包括刪繁就簡(jiǎn),以獲得越來(lái)越滿意的模型。在科學(xué)發(fā)展過(guò)程中隨著人們認(rèn)識(shí)和實(shí)踐能力的提高,各門學(xué)科中的數(shù)學(xué)模型也存在著一個(gè)不斷完善或推陳出新的過(guò)程。從19世紀(jì)力學(xué)、熱學(xué)、電學(xué)等許多學(xué)科由牛頓力學(xué)的模型主宰,到20世紀(jì)愛(ài)恩斯坦相對(duì)論模型的建立,是模型漸進(jìn)性的明顯例證。模型的強(qiáng)健性模型的結(jié)構(gòu)和參數(shù)常常是由模型假設(shè)及對(duì)象的信息如觀測(cè)數(shù)據(jù)確定的,而假設(shè)不可能太準(zhǔn)確,觀測(cè)數(shù)據(jù)也是允許有誤差的。一個(gè)好的模型應(yīng)該具有下述意義的強(qiáng)健性:當(dāng)模型假設(shè)改變時(shí),可以導(dǎo)出模型結(jié)構(gòu)的相應(yīng)變化;當(dāng)觀測(cè)數(shù)據(jù)有微小改變時(shí),模型參數(shù)也只有相應(yīng)的微小變化。模型的可轉(zhuǎn)移性模型是現(xiàn)實(shí)對(duì)象抽象化、理想化的產(chǎn)物,它不為對(duì)象的所屬領(lǐng)域所獨(dú)有,可轉(zhuǎn)移到另外的領(lǐng)域。在生態(tài)、經(jīng)濟(jì)、社會(huì)等領(lǐng)域內(nèi)建模常借用物理領(lǐng)域中的模型。模型的非預(yù)制性雖然已經(jīng)發(fā)展了許多應(yīng)用廣泛的模型,但是實(shí)際問(wèn)題是各種各樣、變化萬(wàn)千的,不可能要求把各種模型做成預(yù)制品供你在建模時(shí)使用。模型的這種非預(yù)制性使得建模本身常常是事先沒(méi)有答案的問(wèn)題。在建立新的模型的過(guò)程中甚至?xí)殡S著新的數(shù)學(xué)方法或數(shù)學(xué)概念的產(chǎn)生。模型的條理性從建模的角度考慮問(wèn)題可以促使人們對(duì)現(xiàn)實(shí)對(duì)象的分析更全面、更深入、更具條理性,這樣即使建立的模型由于種種原因尚未達(dá)到實(shí)用的程度,對(duì)問(wèn)題的研究也是有利的。模型的技藝性建模的方法與其他一些數(shù)學(xué)方法(如方程解法、規(guī)劃問(wèn)題解法等)是根本不同的,無(wú)法歸納出若干條普遍適用的建模準(zhǔn)則和技巧。有人說(shuō),建模目前與其說(shuō)是一門技術(shù),不如說(shuō)是一種藝術(shù),是技藝性招強(qiáng)的技巧。經(jīng)驗(yàn)、想像力、洞察力、判斷力以及直覺(jué)、靈感等在建模過(guò)程中起的作用往住比一些具體的數(shù)學(xué)知識(shí)更大。模型的局限性第一,由數(shù)學(xué)模型得到的結(jié)論雖然具有通用性和精確性,但是因?yàn)槟P褪乾F(xiàn)實(shí)對(duì)象簡(jiǎn)化、理想化的產(chǎn)物,所以一旦將模型的結(jié)論應(yīng)用于實(shí)際問(wèn)題,就回到了現(xiàn)實(shí)世界,那些被忽視、簡(jiǎn)化的因素必須考慮,于是結(jié)論的通用性和精確性只是相對(duì)的和近似的。第二,由于人們認(rèn)識(shí)能力和科學(xué)技術(shù)包括數(shù)學(xué)本身發(fā)展水平的限制,還有不少實(shí)際問(wèn)題很難得到有著實(shí)用價(jià)值的數(shù)學(xué)模型。如一些內(nèi)部機(jī)理復(fù)雜、影響因素眾多、測(cè)量手段不夠完善、技藝性較強(qiáng)的生產(chǎn)過(guò)程,像生鐵冶煉過(guò)程,常常需要開(kāi)發(fā)專家系統(tǒng),與建立數(shù)學(xué)模型相結(jié)合才能獲得較滿意的應(yīng)用效果。專家系統(tǒng)是一種計(jì)算機(jī)軟件系統(tǒng),它總結(jié)專家的知識(shí)和經(jīng)驗(yàn),模擬人類的邏輯思維過(guò)程,建立若干規(guī)則和推理途徑,主要是定性地分析各種實(shí)際現(xiàn)象并作出判斷、專家系統(tǒng)可以看成計(jì)算機(jī)模擬的新發(fā)展。第三,還有些領(lǐng)域中的問(wèn)題今天尚未發(fā)展到用建模方法尋求數(shù)量規(guī)律的階段。如中醫(yī)診斷過(guò)程,目前所謂計(jì)算機(jī)輔助診斷也是屬于總結(jié)著名中醫(yī)的豐富臨床經(jīng)驗(yàn)的專家系統(tǒng)。數(shù)學(xué)摸型的分類1.按照模型的應(yīng)用領(lǐng)域(或所屬學(xué)科)分:人口模型交通模型環(huán)境模型生態(tài)模型城鎮(zhèn)規(guī)劃模型水資源模型再生資源利用模型污染模型范疇更大一些則形成許多邊緣學(xué)科如生物數(shù)學(xué)、醫(yī)學(xué)數(shù)學(xué)、地質(zhì)數(shù)學(xué)、數(shù)量經(jīng)濟(jì)學(xué)、數(shù)學(xué)社會(huì)學(xué)等。.按照建立模型的數(shù)學(xué)方法(或所屬數(shù)學(xué)分支)分:初等模型幾何模型微分方程模型統(tǒng)計(jì)回歸模型數(shù)學(xué)規(guī)劃模型.按照模型的表現(xiàn)特性分:確定性模型和隨機(jī)性模型取決于是否考慮隨機(jī)因素的影響。近年來(lái)隨著數(shù)學(xué)的發(fā)展,又有所謂突變性模型和模糊性模型。靜態(tài)模型和動(dòng)態(tài)模型取決于是否考慮時(shí)間因素引起的變化。線性模型和非線性模型取決于模型的基本關(guān)系。如微分方程是否是線性的。離散模型和連續(xù)模型指模型中的變量(主要是時(shí)間變量)取為離散還是連續(xù)的。雖然從本質(zhì)上講大多數(shù)實(shí)際問(wèn)題是隨機(jī)性的、動(dòng)態(tài)的、非線性的,但是由于確定性、靜態(tài)、線性模型容易處理,并且往往可以作為初步的近似來(lái)解決問(wèn)題,所以建模時(shí)常先考慮確定性、靜態(tài)、線性模型。連續(xù)模型便于利用微積分方法求解析解,作理論分析。離散模型便于在計(jì)算機(jī)上作數(shù)值計(jì)算。所以用哪種模型要看具體問(wèn)題而定。在具體的建模過(guò)程中將連續(xù)模型離散化,或?qū)㈦x散變量視作連續(xù)的,也是常采用的方法。.按照建模目的分:描述

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論