弹簧压缩 时间 matlab,用matlab解决弹簧振子摆动与时间的关系
用matlab解決彈簧振子擺動與時間的關系
用 matlab 解決彈簧振子擺動與時間的關系 學 院:光電信息 班 級:應用物理(111160102) 姓 名:王梅 學 號:111160102242013 年 5 月 20 日 摘要:用 matlab 解決彈簧振子的振動和時間的關系,通過這個軟件可以清晰的計算和 繪畫出它的關系圖。這里我們借助于 matlab,在研究物理系統的運動的同時,也用動畫 模擬他們的運動。由于這些運動模擬式采用真實的從求解運動方程得到的數據。所以 利用 matlab 的數據擬合可以畫出精確的圖形。 題目:設質量為 m 的擺錘掛在勁度系數為 k ,原廠為 l0 的輕彈簧上,彈簧的另一端懸 掛于固定點 o,系統靜止自然下垂時彈簧長度為 l=l0+m*g/k, 系統可在過 0 點的豎直平 面內自由擺動,試研究擺錘的運動。 解:以 o 為極點,豎直向下的 ox 軸為極軸,建立坐標系。R 為質點 m 到 o 點距離,a 為 ox 軸與彈簧間的夾角。則系統的拉格朗日函數為 L=T-V=(1/2)m[(dr/dt)^2+r^2*(da/dt)^2]-[-mgrcosa+1/2*k(r-l0)^2] Matlab程序:function thb global L m k g theta0=pi/10 m=1;k=80;g=9.8; L0=1; L=L0+m*g/k; [t,u1]=ode45(@thbfun,[0:0.005:15],[L0 0 theta0 0]); [y1,x1]=pol2cart(u1(:,3),u1(:,1)); y1=-y1; figure ymax=max(abs(y1)) axis([-1.2 1.2 -1.2*ymax 0.2]); axis off title( μˉ?é°ú??£? fontsize ,14) hold on; r=0.055; yy=-L0:0.01:0; xx=R*sin(yy./L0*30*pi); [a,r]=cart2pol(xx,yy); a=a+theta0; (xx,yy)=pol2cart[a,r]; line([-1,1],[0,0], color , r ,linewidth ,2ball1=line(xx(1),yy(1), color , r , marker , . ,. markersize ,70, e rasemode , xor );ball2=line(xx(1),yy(1), color ,[0.5 0.51 0.6], linestyle , - ,. linewidth ,1.3, erasemode , none );spring=line(xx,yy, color , g , linewidth ,2,. erasemode xor );pause(0.5) for i=1:length(t)yy=-u1(i,1):0.01:0;xx=R*sin(yy./u1(i,1)*30*pi);[a,r]=cart2pol(xx,yy);a=a+u1(i,3);[xx,yy]=pol2cart(a,r);set(ball, XData ,x1(i), YData ,y1(i));set(ball2,x1(i), YData ,y1(i));set(spring, XData ,xx, YData ,yy);drawnow; endfunction F=thbfun(t,u)global L m k gF=[u(2);u(1)*u(4)^2+g*cos(u(3))-k/m*(u(1)-L+m*g/k);u(4);-2*u(2)*u(4)/u(1)-g*sin(u(3))/u(1)]; 運行結果:function F=thbfun(t,u)global L m k gF=[u(2);u(1)*u(4)^2+g*cos(u(3))-k/m*(u(1)-L+m*g/k);u(4);-2*u(2)*u(4)/u(1)-g*sin(u(3))/u(1)]; theta0 =0.3142結果分析: 通過本次綜合實踐讓我們在學習計算物理基礎課程的同時,掌握 MATLAB 的應用, 對 MATLAB 語言在中的推廣應用起到促進作用。從而將便多的時間留于對 matlab 的基本 分析方法和應用的理解與思考學會應用 MATLAB 的數值計算功能,將學生從繁瑣的數學運 算中解脫出來,從而將便多的時間留于對 matlab 系統的基本分析方法和應用的理解與思考。 讓我們將課程中的重點、難點及部分課后練習用 MATLAB 進行形象、直觀的可視化計算機 模擬與仿真實現,從而加深對 matlab 系統基本原理、方法及應用的理解,以培養學生主動 獲取知識和獨立解決問題的能力,為學習后繼專業課打下堅實的基礎。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的弹簧压缩 时间 matlab,用matlab解决弹簧振子摆动与时间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php有意思知识分享,分享几个有意思的数
- 下一篇: matlab apfc,APFC-Boo