小船過河matlab實現(xiàn)_第1頁
小船過河matlab實現(xiàn)_第2頁
小船過河matlab實現(xiàn)_第3頁
小船過河matlab實現(xiàn)_第4頁
小船過河matlab實現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、(一)問題分析一只小船要渡過一條寬為d的河流,目標是起點A正對著的另一岸B點。已知河水的流速v1與船在靜水中的速度v2之比為k。(1) 建立小船的航線模型,并求其解析解。(2) 設d=100m,v1=1m/s,v2=2m/s,用數(shù)值解法求渡河所需時間,任意時刻小船的位置及航行曲線,作圖,并于解析解比較;(3) 若流速v1=0,0.5,1.5,2(m/s),結果如何。這個問題涉及的主要變量有:船在靜水中的速度v2,河水的速度v1,v1與v2速度之比為k,船的航行時間t,船在任意時刻的位置x,y。由于k未知,所以船過河的具體航線有多種情況,但針對本題過河問題為了更好的解決問題,不妨做以下假設:(1

2、)船的速度方向始終指向終點B;(2)船在航行的過程中任意時刻的總速度與航線相切。通過以上假設,小船過河問題就簡化為:速度求曲線軌跡問題,微分方程問題。(二)建立數(shù)學模型建立直角坐標系,為方便起見,將B點設為坐標原點,河岸為x軸,垂直于河岸方向為y軸,如圖所示。設在t時刻,小船的位置為(x,y),船頭指向與水平方向的夾角為a。則此時水平方向的速度為v1-v2*cos(a),豎直方向的速度為v2*sin(a)。又由于水平方向的速度為dx/dt,豎直方向的速度為dy/dt。則可列出小船航線的微分方程:dx/dt=v1-v2*cos(a)dy/dt v2*sin(a)又由于cos(a)=x/sqrt(

3、x2+y2),sin(a)=-y/sqrt(x2+y2)。則微分方程為:dx/dt=v1-v2* x/sqrt(x2+y2)dy/dt=-v2* y/sqrt(x2+y2)初始條件為:x(0)=0,y(0)=-100;6以上就是小船航線的數(shù)學模型。(三)求解模型的數(shù)學方法(解析解與數(shù)值解)(1)解析解的得出,matlab算法的具體實現(xiàn),以及解析解的圖形根據(jù)dx/dt=v1-v2* x/sqrt(x2+y2)dy/dt=-v2* y/sqrt(x2+y2)兩式相除得到dy/dx=v2*y/(v1* sqrt(x2+y2)-v2)分離變量得到:dx/x=du/(-u*v1*sqrt(1+u2)/(

4、v1*sqrt(1+u2)-v2)其中u=y/x;然后利用微分方程得到x關于y的解析表達式:x=1/2*c(-k)*y(1-k)-1/2*ck*y(k+1)然后根據(jù)初始條件:x(0)=0,y(0)=-d,d=100;得到:c=-0.01.則小船航線的解析數(shù)學表達式為:x=1/2*(-0.01)(-k)*y(-k+1)-1/2*(-0.01)(k)*y(k+1).解析解的matlab程序:xiaochuan.mfunction x=xiaochuan(y)k=0.3;x=1/2*(-0.01).(-k).*y.(-k+1)-1/2.*(-0.01).(k).*y.(k+1); hangxing.

5、my=0:-0.1:-100;for i=0:1:1000 x(:,i+1)=xiaochuan(-i/10);end plot(x,y);title(小船過河1)xlabel(x軸);ylabel(y軸); hangxing.m(2)數(shù)值解法的具體實現(xiàn)與matlab算法:根據(jù)此模型的微分方程:dx/dt=v1-v2* x/sqrt(x2+y2)dy/dt=-v2* y/sqrt(x2+y2)并且初始條件:x(0)=0,y(0)=-d通過龍格庫塔方程求其數(shù)值解:由于該模型的參數(shù)為:河寬d,船在靜水中的速度v2,河水流速v1,船在任意時刻的位置(x,y),時間t,船在a點時t=0。則小船航線的微

6、分方程的matlab算法如下:xiaochuan1.m:function dx=xiaochuan1(t,x,v1,v2)s=(x(1)2+x(2)2)0.5;%x(1),x(2)表示x,ydx=v1-v2*x(1)/s;-x(2)*v2/s;%以列向量的形式表示小船過河的微分方程在編寫運行程序時設定時間t的起終點和中間的等分點,終點時間根據(jù)船在靜水中速度和水的流速設為150s,時間間隔為0.01s。lv.mts=0:0.01:150;d=input(輸入河寬d=);x0=0,-d;opt=odeset(reltol,1e-6,abstol,1e-9);v1=input(輸入河水流速v1=);

7、v2=input(輸入船在靜水中速度v2=);t,x=ode15s(xiaochuan1,ts,x0,opt,v1,v2);t,xsubplot(1,2,1),plot(t,x),title(xt圖),gtext(t軸),gtext(x軸);grid;subplot(1,2,2),plot(x(:,1),x(:,2),title(小船過河圖2);gtext(x軸),gtext(y軸);grid;(四)計算所得結果(1)當v1=1m/s,v2=2m/s,d=100m時 lv輸入河寬d=100輸入河水流速v1=1輸入船在靜水中速度v2=2t,x,y值如下:15.2600 12.6707 -69.6

8、313 15.2700 12.6771 -69.6116 15.2800 12.6835 -69.5919 15.2900 12.6899 -69.5723 15.3000 12.6963 -69.5526. 66.5700 0.0970 -0.0004 66.5800 0.0870 -0.0003 66.5900 0.0770 -0.0002 66.6000 0.0670 -0.0002 66.6100 0.0570 -0.0001 66.6200 0.0470 -0.0001 66.6300 0.0370 -0.0001 66.6400 0.0270 -0.0000 66.6500 0.0

9、170 -0.0000 66.6600 0.0070 -0.0000則當d=100m,v1=1m/s,v2=2m/s時t=66.64s時小船到達對岸b點,渡河所需時間t=66.64s,小船任意時刻的位置如xt圖所示,航線如“小船過河圖2”所示(2)d=100m, v1=0, 0.5, 1.5, 2m/s; v2=2m/s時所得結果當d=100,v1=0,v2=2時, lv輸入河寬d=100輸入河水流速v1=0輸入船在靜水中速度v2=2t,x值如下: 47.1200 0 -5.7600 47.1300 0 -5.7400 47.1400 0 -5.7200 47.1500 0 -5.7000 4

10、7.1600 0 -5.6800 47.1700 0 -5.6600.49.9400 0 -0.1200 49.9500 0 -0.1000 49.9600 0 -0.0800 49.9700 0 -0.0600 49.9800 0 -0.0400 49.9900 0 -0.0200 50.0000 0 -0.0000此時由于t=100,v1=0,v2=2,t=100/2=50,小船過河時間t=50s, 小船任意時刻的位置如xt圖所示,航線如“小船過河圖2”所示,結果與解析解相符合。當d=100,v1=0.5,v2=2時, lv輸入河寬d=100輸入河水流速v1=0.5輸入船在靜水中速度v2=

11、2t,x值如下: 0 0 -100.0000 0.0100 0.0050 -99.9800 0.0200 0.0100 -99.9600 0.0300 0.0150 -99.9400 0.0400 0.0200 -99.92000.0500 0.0250 -99.9000. 53.2600 0.1071 -0.0283 53.2700 0.0928 -0.0233 53.2800 0.0783 -0.0185 53.2900 0.0638 -0.0141 53.3000 0.0493 -0.0099 53.3100 0.0346 -0.0062 53.3200 0.0199 -0.0029 5

12、3.3300 0.0050 -0.0005則根據(jù)t=53.33s時小船到達對岸,小船任意時刻的位置如xt圖所示,航線如“小船過河圖2”所示,結果與解析解相符合。當d=100,v1=1.5,v2=2時 lv輸入河寬d=100輸入河水流速v1=1.5輸入船在靜水中速度v2=2t,x值如下:62.2500 25.4391 -7.2507 62.2600 25.4349 -7.2452 62.2700 25.4307 -7.2397 62.2800 25.4264 -7.2342 62.2900 25.4222 -7.2288 62.3000 25.4180 -7.2233 62.3100 25.41

13、37 -7.2178 62.3200 25.4095 -7.2124.111.5700 1.3581 -0.0001 111.5800 1.3531 -0.0001 111.5900 1.3481 -0.0001 111.6000 1.3431 -0.0001 111.6100 1.3381 -0.0001 111.6200 1.3331 -0.0001 111.6300 1.3281 -0.0000 111.6400 1.3231 -0.0000 111.6500 1.3181 -0.0000 111.6600 1.3131 -0.0000此時由于d=100,v1=0,v2=1.5,t=111.63, 小船任意時刻的位置如xt圖所示,航線如“小船過河圖2”所示,結果與解析解相符合當d=100,v1=2,v2=2時 lv輸入河寬d=100輸入河水流速v1=2輸入船在靜水中速度v2=2t,x值如下:96.1800 49.9382 -3.5161 96.1900 49.9383 -3.5147 96.2000 49.9383 -3.5133 96.2100 49.9384 -3.5119 96.2200 49.9384 -3.5105 96.2300 49.9385 -3.5091 96.2400 4

溫馨提示

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

評論

0/150

提交評論