完全彈性碰撞matlab_第1頁
完全彈性碰撞matlab_第2頁
完全彈性碰撞matlab_第3頁
完全彈性碰撞matlab_第4頁
完全彈性碰撞matlab_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、Matlab設計實驗課題名稱:完全彈性碰撞一 設計背景:完全彈性碰撞(Perfect Elastic Collision): 在理想情況下,完全彈性碰撞的物理過程滿足動量守恒和能量守恒。如果兩個碰撞小球的質量相等,聯立動量守恒和能量守恒方程時可解得:兩個小球碰撞后交換速度。如果被碰撞的小球原來靜止,則碰撞后該小球具有了與碰撞小球一樣大小的速度,而碰撞小球則停止。多個小球碰撞時可以進行類似的分析。二 設計意義真實情況下,由于小球間的碰撞并非理想的彈性碰撞,還會有能量的損失,所以最后小球還是要停下來。所以該設計主要用于研究能量守恒中的某些問題。還有就是用于實驗演示。三 程序設計該程序主要設置了三個

2、不同顏色的小球,在真空環境下(理想環境下)的碰撞實驗演示。該程序可以通過改變各種參數,研究各種情況下的實驗數據。程序:pole=1.8;%定義擺線的長度xmax=2;%定義橫坐標長度ymax=2;%定義縱坐標長度basew=2.3;%定義圖中方框的寬度baseh=2.3;%定義圖中方框的高度instant=0.2;%定義擺線間距%三視圖的初始設置%第一幅圖figure('name','理想情況下能量守恒定律1','position',500,340,440,320);%定義第一幅圖的標題和位置fill(xmax,xmax,-xmax,-xmax,

3、xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05,ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05,0,1,1);%填充底座背景 hold on;%保持當前圖形及坐標所有特性fill(xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,ymax-0.5 ,ymax-0.55,ymax-0.55,ymax-0.5,'g');%填充方框內橫桿背景 hold on;%保持當前圖形及坐

4、標所有特性 text(-0.25,1.7,'1');text(0,1.7,'2');text(0.25,1.7,'3');%在坐標處標識說明文字 text( -1.0,1.7,'a');text( -1.0,-1.7,'b');%在坐標處標識說明文字 text(1.0,1.7,'真空容器');text(-1.8,1.7,'主視圖');%在坐標處標識說明文字axis(-basew,basew,-baseh,baseh);%定義背景坐標范圍在x(-2.32.3) Y(-2.32.3)之間

5、%axis('off');%覆蓋坐標刻度并填充背景theta0=7 *pi/6;%擺線1的初始角度x0=pole*cos(theta0);%擺線1末端x坐標y0=pole*sin(theta0)+1.5;%擺線1末端y坐標body1=line(-instant,x0-instant,1.5,y0,'color','r','linestyle','-','erasemode','xor');%設置擺線1head1=line(x0-instant,y0,'color',&

6、#39;r','linestyle','.','erasemode','xor','markersize',40);%設置第一個小球顏色,大小theta1=3*pi/2;%擺線2,3的角度x1=pole*cos(theta1);%擺線2,3末端x坐標y1=pole*sin(theta1)+1.5;%擺線2,3末端y坐標body=line(-0.001,x1,1.5,y1,'color','k','linestyle','-','eras

7、emode','xor');%設置擺線2head=line(x1,y1,'color','k','linestyle','.','erasemode','xor','markersize',40);%設置第2個小球顏色,大小body2=line(instant;x1+instant,1.5;y1,'color','b','linestyle','-','erasemode',

8、9;xor');%設置擺線3head2=line(x1+instant,y1,'color','b','linestyle','.','erasemode','xor','markersize',40);%設置第3個小球顏色,大小theta3=15*pi/6 ;%第二幅圖figure('name','理想情況下能量守恒定律2','position',500,40,440,320);%定義第一幅圖的標題和位置fill(xmax,x

9、max,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05,ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05,0,1,1);%填充底座背景hold on;%保持當前圖形及坐標所有特性fill(xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,ymax-0.5 ,ymax-0.55,ymax-0.55,ymax-0.5,'g');%填充方框內第一根橫桿背景

10、 hold on;%保持當前圖形及坐標所有特性fill(xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,-ymax+0.55 ,-ymax+0.5,-ymax+0.5,-ymax+0.55 ,'b');%填充方框內第二根橫桿背景 hold on;%保持當前圖形及坐標所有特性 text(-0.25,1.7,'1');text(0,1.7,'2');text(0.25,1.7,'3');%在坐標處標識說明文字 text( -1.0,1.7,'a');text( -1.0,-1.7,&

11、#39;b');%在坐標處標識說明文字 text(1.0,1.7,'真空容器');text(-1.8,1.7,'俯視圖');%在坐標處標識說明文字axis(-basew,basew,-baseh,baseh);%定義背景坐標范圍在x(-2.32.3) Y(-2.32.3)之間%axis('off');%覆蓋坐標刻度并填充背景y01=0;%設置擺球縱坐標值body11=line(-instant,x0-instant,1.5,y01,'color','r','linestyle','-

12、','erasemode','xor');%設置擺線1上擺線body12=line(-instant,x0-instant,-1.5,y01,'color','r','linestyle','-','erasemode','xor');%設置擺線1下擺線head01=line(x0-instant,y01,'color','r','linestyle','.','erasemode'

13、;,'xor','markersize',40);%設置第一個小球顏色,大小body01=line(-0.001,x1,1.5,y01,'color','k','linestyle','-','erasemode','xor');%設置擺線2上擺線body02=line(-0.001,x1,-1.5,y01,'color','k','linestyle','-','erasemode',&

14、#39;xor');%設置擺線2下擺線head00=line(x1,y01,'color','k','linestyle','.','erasemode','xor','markersize',40);%設置第二個小球顏色,大小body21=line(instant;x1+instant,1.5;y01,'color','b','linestyle','-','erasemode','xo

15、r');%設置擺線3上擺線body22=line(instant;x1+instant,-1.5;y01,'color','b','linestyle','-','erasemode','xor');%設置擺線3下擺線head02=line(x1+instant,y01,'color','b','linestyle','.','erasemode','xor','markersize

16、9;,40);%設置第三個小球顏色,大小%第三幅圖figure('name','理想情況下能量守恒定律3','position',50,340,440,320);%定義第三幅圖的標題和位置fill(xmax,xmax,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05,ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05,0,1,1); %填充底座背景hold

17、 on%保持當前圖形及坐標所有特性 text(1.0,1.7,'真空容器');text(-1.8,1.7,'側視圖');%在坐標處標識說明文字 text( -1.7,1.5,'a');text( 1.7,1.5,'b');%在坐標處標識說明文字axis(-basew,basew,-baseh,baseh);%定義背景坐標范圍在x(-2.32.3) Y(-2.32.3)之間%axis('off');%覆蓋坐標刻度并填充背景x01=0;x02=1.48;y02=1.48;%設置坐標head000=line(-x02,y

18、02,'color','g','linestyle','.','erasemode','xor','markersize',18);%設置橫桿ahead000=line(x02,y02,'color','g','linestyle','.','erasemode','xor','markersize',18);%設置橫桿bbody311=line(-x02,x01,y02,

19、y0,'color','r','linestyle','-','erasemode','xor');%設置擺線1上擺線body312=line(x02,x01,y02,y0,'color','r','linestyle','-','erasemode','xor');%設置擺線1下擺線head301=line(x01,y0,'color','r','linestyl

20、e','.','erasemode','xor','markersize',40);%設置擺球1body301=line(-x02,x01,y02,y1,'color','k','linestyle','-','erasemode','xor');%設置擺線2上擺線body302=line(x02,x01,y02,y1,'color','k','linestyle','-&

21、#39;,'erasemode','xor');%設置擺線2下擺線head300=line(x01,y1,'color','k','linestyle','.','erasemode','xor','markersize',40);%設置擺球2body321=line(-x02;x01,y02;y1,'color','b','linestyle','-','erasemode

22、9;,'xor');%設置擺線3上擺線body322=line(x02;x01,y02;y1,'color','b','linestyle','-','erasemode','xor');%設置擺線3下擺線head302=line(x01,y1,'color','b','linestyle','.','erasemode','xor','markersize',40);%設

23、置擺球3while 1%條件判斷 theta0=theta0+pi/540; theta3=theta3-pi/540; if theta0>=15*pi/6 theta0=7*pi/6; theta3=15*pi/6 ; %設置擺球1運動過程 elseif (theta0>=7*pi/6)&(theta0<3*pi/2) x11=pole*cos(theta0); y11=pole*sin(theta0)+1.5; set(body1,'xdata',-instant,x11-instant,'ydata',1.5,y11);%設置主

24、視圖中擺線1運動 set(head1,'xdata',x11-instant,'ydata',y11);%設置主視圖中擺球1運動 set(body11,'xdata',-instant,x11-instant,'ydata',1.5,y01);%設置俯視圖中擺線1上擺線運動 set(body12,'xdata',-instant,x11-instant,'ydata',1.5,y01);%設置俯視圖中擺線1下擺線運動 set(head01,'xdata',x11-instant,&#

25、39;ydata',y01);%設置俯視圖中擺球1運動 set(body311,'xdata',-x02,x01,'ydata',y02,y11);%設置側視圖中擺線1上擺線運動 set(body312,'xdata',x02,x01,'ydata',y02,y11);%設置側視圖中擺線1下擺線運動 set(head301,'xdata',x01,'ydata',y11);%設置側視圖中擺球1運動 %設置擺球3運動的過程 elseif (theta0>=3*pi/2)&(the

26、ta0<11*pi/6) x22=pole*cos(theta0); y22=pole*sin(theta0)+1.5; set(body2,'xdata',instant,x22+instant,'ydata',1.5,y22);%設置主視圖中擺線3運動 set(head2,'xdata',x22+instant,'ydata',y22);%設置主視圖中擺球3運動 set(body21,'xdata',instant,x22+instant,'ydata',1.5,y01);%設置俯視圖中擺

27、線3上擺線運動 set(body22,'xdata',instant,x22+instant,'ydata',-1.5,y01);%設置俯視圖中擺線3下擺線運動 set(head02,'xdata',x22+instant,'ydata',y01);%設置俯視圖中擺球3運動 set(body321,'xdata',-x02,x01,'ydata',y02,y22); %設置側視圖中擺線3上擺線運動 set(body322,'xdata',x02,x01,'ydata'

28、,y02,y22);%設置側視圖中擺線3下擺線運動 set(head302,'xdata',x01,'ydata',y22);%設置側視圖中擺球3運動 % 設置擺球3運動過程 elseif (theta0>=11*pi/6 )&(theta0<=13*pi/6 ) x32=pole*cos(theta3); y32=pole*sin(theta3)+1.5; set(body2,'xdata',instant,x32+instant,'ydata',1.5,y32);%設置主視圖中擺線3運動 set(head2

29、,'xdata',x32+instant,'ydata',y32);%設置主視圖中擺球3運動 set(body21,'xdata',instant,x32+instant,'ydata',1.5,y01);%設置俯視圖中擺線3上擺線運動 set(body22,'xdata',instant,x32+instant,'ydata',-1.5,y01);%設置俯視圖中擺線3下擺線運動 set(head02,'xdata',x32+instant,'ydata',y01);%設置俯視圖中擺球3運動 set(body321,'xdata'

溫馨提示

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

評論

0/150

提交評論