《Matlab在物理上的应用举例》由会员分享,可在线阅读,更多相关《Matlab在物理上的应用举例(26页珍藏版)》请在装配图网上搜索。
1、1. 单列波单列波t00.00110;A振幅A;w频率w;aa;yA.*sinw.*ta;plott,y;pause1,soundy;ylabely,xlabelt2. 光的单缝衍射现象Lambda500e-9; aa; 可取0.2e-3,1e-3,2e-3三种情况z1 ymax3*Lambda*z/a; Ny51; yslinspace-ymax,ymax,Ny; NPoints51; yPointlinspace-a/2,a/2,NPoints; for j1Ny Lsqrtysj-yPoint.2z2; Phi2*pi.*L-z./Lambda; SumCossumcosPh。
2、i; SumSinsumsinPhi; BjSumCos2SumSin2/NPoints2; endclf,plotys,B,*,ys,B;grid; 3. 用毕奥沙伐尔定律计算电流环产生的磁场mu04*pi*1e-7;I05.0;Rh1;C0mu0/4*pi*I0;NGx21;NGy21;xlinspace-Rh,Rh,NGx;ylinspace-3,3,20;yx;Nh20;theta0linspace0,2*pi,Nh1;theta1theta01Nh;y1Rh*costheta1;z1Rh*sintheta1;theta2theta02Nh1;y2Rh*costheta2;z2Rh。
3、*sintheta2;dlx0;dlyy2-y1;dlzz2-z1;xc0;ycy2y1/2;zcz2z1/2;for i1NGy for j1NGx rxxj-xc; ryyi-yc; rz0-zc; r3sqrtrx.2ry.2rz.2.3; dlXr_xdly.*rz-dlz.*ry; dlXr_ydly.*rx-dlx.*rz; Bxi,jsumC0*dlXr_x./r3; Byi,jsumC0*dlXr_y./r3;endendclf;quiverx,y,Bx,By;4. 多普勒效应x0500;v50;y020; c330;w1000; t00.00130; rsqrtx0-v*t.。
4、2y0.2; t1t-r/c; usinw*tsin1.1*w*t; u1sinw*t1sin1.1*w*t1; soundu;pause5;soundu1;5.亥姆霍兹线圈 clear allmu04*pi*1e-7;I05.0;Rh1;C0mu0/4*pi*I0;NGx21;NGy21;xlinspace-Rh,Rh,NGx;ylinspace-Rh,Rh,NGy;Nh20;theta0linspace0,2*pi,Nh1;theta1theta01Nh;y1Rh*costheta1;z1Rh*sintheta1;theta2theta02Nh1;y2Rh*costheta2;z2Rh*s。
5、intheta2;dlx0;dlyy2-y1;dlzz2-z1;xc0;ycy2y1/2;zcz2z1/2;for i1NGy for j1NGx rxxj-xc; ryyi-yc; rz0-zc; r3sqrtrx.2ry.2rz.2.3; dlXr_xdly.*rz-dlz.*ry; dlXr_ydly.*rx-dlx.*rz; Bxi,jsumC0*dlXr_x./r3; Byi,jsumC0*dlXr_y./r3;endendBaxBx,1121Bx,111;BayBy,1121By,111;subplot1,2,1meshx1121,y,Bax;xlabelx;ylabely;sub。
6、plot1,2,2,ploty,Bax,grid,xlabely;ylabelBx;库仑引力clear all;N电荷数目N;for ic1N fprintf-n 对电荷gn,ic; rc电荷位置xy(米); xicrc1; yicrc2; qic输入电荷量(库仑);endE08.85e-12; C01/4*pi*E0; for ic1N Fx0.0; Fy00; for jc1N ificjc xijxic-xjc; yijyic-yjc; Rijsqrtxij2yij2; FxFxC0*qic*xij/Rij3; FyFyC0*qic*yij/Rij3; end end fp。
7、rintf其它电荷作用在电荷g上的合力为n,ic; fprintfx分量gNn,Fx; fprintfy分量gNn,Fyend李萨如图形 lisaru.msyms t a1 a2 w1 w2xcosw1.*ta1;ysinw2.*ta2;a1a1;a2a2;w1w1;w2w2;tf10;Ns1000;tlinspace0,tf,Ns; dttf/Ns-1; 分Ns个点,求出时间增量dtxplotx;yploty; 计算Ns个点的位置xt,ytfiguregcf;subplot1,2,1,for i1750plotyplot1i,xplot1i; 画点的轨迹图axisequal; grid 。
8、; 使两轴比例相同pause0.01end耦合振子 m12;m22;K116;K24; x01;0;xd06;6;tf10; Mm1,0;0,m2;KK1K2,-K2;-K2,K1K2 ; u,su,LeigK,M ; tlinspace0,tf,101;xzeros2,101; for s12 alfasqrtu,s*M*u,s ; u,s u,s/alfa; wjsqrtLj,j; xtu,j*u,j*M*x0*coswj*tu,j*M*xd0/wj*sinwj*t;xxxt; end for r12 x1,x1subplot2,1,rplott.xr,,grid;xlabelxxx;y。
9、labelyyy,num2strr;end 拍频t00.00110; a11;w11; a22;w22;y1a1*sinw1*t; y2a2*sinw2*t;yy1y2; subplot3,1,1,plott,y1,ylabely1 subplot3,1,2,plott,y2,ylabely2subplot3,1,3,plott,y,ylabely,xlabeltpause,soundy1;pause5,soundy2;pause5,soundy,pause subplot1,1,1 。物块下滑m1m1;m2m2;thetatheta度;thetatheta*pi/180; g9.81;Am1。
10、*costheta,-m1,-sintheta,0;. m1*sintheta,0,costheta,0;. 0,m2, -sintheta,0;. 0,0,-costheta,1;B0,m1*g,0,m2*g; XAB;a1X1, a2X2, N1X3,N2X4 。循环xunhuanR8.31;gama1.4; 注由于在MATLAB中无拉丁文,所以用gama代替 nMoles0.5;P11e5;V10.012;WTotal0;QTotal0;iPoint1;NCurve100;PPlotP1;VPlotV1;变量和图形初始化,输入气体的摩尔数nMoles,初始压力P(1),初始容积V(1),。
11、气体常数R8.314;给定起始总功WTotal0;点序号iPoint1;画等温线用的点数NCurve100;PV图第一点坐标PPlotP1;VPlotV1T1P1*V1/nMoles*R; 算出初始温度为了进入循环,先要设两个不相等的PathType和QuitType值QuitType5;PathType0;whilePathTypeQuitType 在菜单上选择退出之前不断循环, 选择路径类型或退出 iPointiPoint1; 下一点 fprintf对过程gn,iPoint-1; PathTypemenusprintf过程g选择下一路径,iPoint-1,. 等压,等容,等温,绝热,退出;。
12、 图形界面菜单生成语句 switch PathTypecase 1 等压路径 ViPoint输入新容积; PiPointPiPoint-1; 压力不变 TiPointPiPoint*ViPoint/nMoles*R; 按新容积算出温度 WPiPoint*ViPoint-ViPoint-1; 计算等压过程所做的功 Qgama*nMoles*R/gama-1*TiPoint-TiPoint-1;VPlotVPlot,ViPoint; 加上新的容积和压力点,用以绘图 PPlotPPlot,PiPoint;case 2 等容路径 PiPoint输入新压力; ViPointViPoint-1; 容积不变。
13、 TiPointPiPoint*ViPoint/nMoles*R; 按新压力算出温度 W0; 等容路径上所做的功为零 QnMoles*R/gama-1*TiPoint-TiPoint-1; VPlotVPlot,ViPoint; 加上绘图用的新容积和压力点 PPlotPPlot,PiPoint;case 3 等温路径 ViPoint输入新容积; TiPointTiPoint-1; 温度不变 PiPointnMoles*R*TiPoint/ViPoint; 按新容积求新压力 WnMoles*R*TiPoint*logViPoint/ViPoint-1; 求所做的功 QW; 用元素群运算求等温路径。
14、上的P和V,加进绘图数据中 VNewlinspaceViPoint-1,ViPoint,NCurve; PNewnMoles*R*TiPoint./VNew; VPlotVPlot,VNew; 将新的V,P点加入绘图数据中 PPlotPPlot,PNew;case 4 绝热路径 ViPoint输入新容积; PiPointPiPoint-1*ViPoint-1gama/ViPointgama; 按新容积求新压力 TiPointTiPoint-1*ViPoint-1gama-1/ViPointgama-1; 按新容积求新温度 W-nMoles*R/gama-1*TiPoint-TiPoint-1;。
15、 求所做的功 Q0; VNewlinspaceViPoint-1,ViPoint,NCurve; PNewPiPoint-1*ViPoint-1gama./VNew.gama; VPlotVPlot,VNew; 将新的V,P点加入绘图数据中 PPlotPPlot,PNew; otherwise end 画出到目前为止的PV图 ifPathTypeQuitType WTotalWTotalW; 将新做的功加进总功 ifQ0 QTotalQTotalQ; end figuregcf;plotV,P,o,VPlot,PPlot,-图形窗移前,绘图 sizeaxis; axissize1*0.9,si。
16、ze2*1.1,size3*0.9,size4*1.1; 上两句用于美观图象,使曲线不要紧靠边框 标注语句略 endendWTotalQTotalyWTotal/QTotal 。振子和拍m12;m22;K18;K24; 输入各原始参数x01;0;xd06;0;tf10; 初使条件Mm1,0;0,m2;KK1K2,-K2;-K2,K1K2 ; 构成参数矩阵u,s*u,LeigK,M ; 求广义特征向量和特征值tlinspace0,tf,101;xzeros2,101; 时间分割和输出变量初始化for s12 分别处理两特征值 for j12alfasqrtu,s*M*u,s ; 解耦后的向量u,。
17、s u,s/alfa; 把特征向量归一化 msqrtL; 分别求对应于两特征值的分量wjmj,jxtu,j*u,j*M*x0*coswj*tu,j*M*xd0/wj*sinwj*t;xxxt; 把两个分量累加endendfor r12 分别对x1,x1绘图subplot2,1,rplott,xr,,grid;xlabelxxx;ylabelyyy,num2strr;end 。阻尼振动B0.7;w5;t00.00110;xdsolveD2x2.*B.*Dxw.2.*x;plott,x7.弹簧振子的物理模型分析l 本题目用MATLAB处理简单弹簧振子和耦合弹簧振子的物理模型,并对实验数据进行了拟合。
18、。n1 简单弹簧振子用劲度系数分别为k1和k2的弹簧,把质量为m的振子固定在气垫导轨,求振子的速度v,加速度a和位移x。根据牛顿第二定律m*D2x-k1k2*x解微分方程,得运动方程xA*cosw*t对上式微分得速度和加速度v-A*w*sinw*ta-A*w*w*cosw*t其中 wsqrtk1k2/m; 编程 syms x m k1 k2;xdsolve m*D2xk1k2*x0,x00,Dx010,t;vdiffxadiffv(2)耦合弹簧振子l 用劲度系数为k 1的边弹簧和劲度系数为k2的耦合弹簧连接质量为m1和m2的两振子,求此物理模态的振动系统方程。设x1和x2分别是两振子离开平衡位。
19、置的位移,耦合振子的振动方程是m1*ddx1/dt/dt-k1*x1-k2*x1-x2;m2*ddx2/dt/dt-k1*x2-k2*x2-x1;写成矩阵形式M*D2xK*x0 用eig函数求出矩阵K-M的特征值L和特征向量U, U和L满足U*M*UI 1 00 2LU*K*U 在原始方程M*xK*x0两端各左乘以U及在中间的对角矩阵U*U,得U*M* U*U*x U*K*U *x0作变量置换zz1,z2t U*x1,x2 t U*x,得zL*z0这是一个对角矩阵方程,既可把它分为两个方程z1L*z10z2L*z20这意味着两种振动模态可以解耦.1*11*1,2*22*2,其中1是第1个模态的。
20、固有频率,2是第2个模态的固有频率. 由上述的解耦模态中,给出初始条件x0,xd0,化为z0,zd0求出变量z1,z2再把z转换为x. 设速度和位置的初始条件分别为xd0xd01,xd02t, x0x01,x02t,则最后得到结果.xtu1*u1t*M*x0*cos1*t1/w1*u1t*M*xd0*sin1*tu2 *u2 t*M*x0*cos1*t1/w2*u2t*M*xd0*sin2*t 几种不同情况的MATLAB编程 同方向的振动,在t0时刻,两振子从平衡位置向同一方向移动相同的位移,对此质量相同的两振子来说,两振子以同样的频率,同方向等振幅振动.此时两振子的距离保持常数没有能量的传递。
21、,两振子的振动频率仅与两边弹簧有关.即两振子同向振动,此时耦合弹簧不起作用.已知条件 两振子的质量 m12;m22;边弹簧的劲度系数K18; 耦合弹簧的劲度系数K24; 两振子的初始位置(在x轴上)m1的初始位置x011;m2的初始位置x021两振子的初始速度(以x轴正向取正)m1的初始速度x0d16;m2的初始速度x0d26;MATLAB编程 clear allm1.2;m2.2;K18;K28; 输入各原始参数x01;0;xd06;6;tf10; 初始条件Mm1,0;0,m2;KK1K2,-K2;-K2,K1K2 ; 构成参数矩阵u,LeigK,M ; 求广义特征向量和特征值tlinspa。
22、ce0,tf,101;xzeros2,101; 时间分割和输出变量初始化for s12 分别处理两特征值 for j12alfasqrtu,s*M*u,s ; 解耦后的向量u,s u,s/alfa; 把特征向量归一化 msqrtL; 分别求对应于两特征值的分量wjmj,jxtu,j*u,j*M*x0*coswj*tu,j*M*xd0/wj*sinwj*t;xxxt; 把两个分量累加end end for r12 分别对x1,x1绘图subplot2,1,rplott,xr,,grid;xlabel时间;ylabel位移,num2strr; 绘图end 运行结果w 2.0000 2.8284w。
23、 2.0000 2.8284w 2.0000 2.8284w 2.0000 2.8284 振子反方向振动时,在t0时,使质量相同的两振子位于各自的平衡位置两侧,且到平衡位置的距离相等,此后两振子以相同的频率,方向等幅振动.两振子不发生能量传递.但此时的频率比同方向振动的频率大,周期要短,因为此时耦合弹簧起作用.已知条件 两振子的质量 m12;m22; 边弹簧的劲度系数K18;耦合弹簧的劲度系数K24; 两振子的初始位置(在x轴上建坐标系)m1的初始位置x011;m2的初始位置x021;两振子的初始速度(以x轴正向取正值)m1的初始速度x0d16;m2的初始速度x0d2-6;编程clea。
24、r allm1.2;m2.2;K14;K24; 输入各原始参数x01;0;xd06;-6;tf40; 初使条件Mm1,0;0,m2;KK1K2,-K2;-K2,K1K2 ; 构成参数矩阵u u,LeigK,M ; 求广义特征向量和特征值tlinspace0,tf,101;xzeros2,101; 时间分割和输出变量初始化for s12 分别处理两特征值 for j12alfasqrtu,s*M*u,s ; 解耦后的向量u,s u,s/alfa; 把特征向量归一化 msqrtL; 分别求对应于两特征值的分量wjmj,jxtu,j*u,j*M*x0*coswj*tu,j*M*xd0/wj*sinw。
25、j*t;xxxt; 把两个分量累加end endfor r12 分别对x1,x1绘图subplot2,1,rplott,xr,,grid; xlabel时间;ylabel位移,num2strr; 绘图 end 运行结果w 2.0000 2.8284w 2.0000 2.8284w 2.0000 2.8284w 2.0000 2.8284 拍振动,在t0时,两振子到平衡位置的距离不同,振子的质量相同,两振子在耦合弹簧及边弹簧的作用下会发生拍振动.两振子会存在能量传递.当一振子处于平衡位置另一振子离平衡位置距离为A,此两振子在耦合弹簧的作用下会发生拍振动.两振子会存在能量传递.第一个振子振。
26、幅变小时,另一个振子振幅增大.已知条件两振子的质量 m12;m22;边弹簧的颈度系数K18; 耦合弹簧的颈度系数K24; 两振子的初始位置(在x轴上建坐标系)m1的初始位置x011;m2的初始位置x021;两振子的初始速度(以x轴正向取正值)m1的初始速度x0d16;m2的初始速度x0d20;编程clear allm1.2;m2.2;K18;K24; 输入各原始参数x01;0;xd06;0;tf40; 初使条件Mm1,0;0,m2;KK1K2,-K2;-K2,K1K2 ; 构成参数矩阵 u,LeigK,M ; 求广义特征向量和特征值tlinspace0,tf,101; xzeros2,101;。
27、 时间分割和输出变量初始化for s12 分别处理两特征值 for j12alfasqrtu,s*M*u,s ; 解耦后的向量u,s u,s/alfa; 把特征向量归一化 msqrtL; 分别求对应于两特征值的分量wjmj,jxtu,j*u,j*M*x0*coswj*tu,j*M*xd0/wj*sinwj*t;xxxt; 把两个分量累加end endfor r12 分别对x1,x1绘图subplot2,1,rplott,xr,,grid; xlabel时间; ylabel位移,num2strr; 绘图 end 在t0时,使两振子离平衡位置相同,振子的质量不同,两振子在耦合弹簧及边弹簧的作用下,。
28、会发生拍振动.两振子之间会存在能量传递已知条件 两振子的质量 m12;m24;边弹簧的劲度系数K18; 耦合弹簧的劲度系数K24; 两振子的初始位置(在x轴上建坐标系)m1的初始位置x011;m2的初始位置x021两振子的初始速度(以x轴正向取正值)m1的初始速度x0d16;m2的初始速度x0d26;编程 m1.2;m2.4;K18;K24; 输入各原始参数x01;0;xd06;6;tf40; 初使条件Mm1,0;0,m2;KK1K2,-K2;-K2,K1K2 ; 构成参数矩阵u,LeigK,M ; 求广义特征向量和特征值tlinspace0,tf,101;xzeros2,101; 时间分割和。
29、输出变量初始化for s12 分别处理两特征值 for j12alfasqrtu,s*M*u,s ; 解耦后的向量u,s u,s/alfa; 把特征向量归一化 msqrtL; 分别求对应于两特征值的分量wjmj,jxtu,j*u,j*M*x0*coswj*tu,j*M*xd0/wj*sinwj*t;xxxt; 把两个分量累加end endfor r12 分别对x1,x1绘图subplot2,1,rplott,xr,,grid;xlabel时间; ylabel位移,num2strr; 绘图 end 3弹簧振子有关物理量测量及实验数据分析实验数据记录 弹簧弹性系数s8.64cm, m21克,g97。
30、9.44cm/s*sm021.830, m1187.860, m249.790, m399.540, m499.790,振子的质量分别为克。 am1m0/3,bm1m2m0/3,cm1m3m0/3,dm1m2m3m0/3,em1m3m4m0/3,不同质量的振子振动的周期分别为 单位毫秒at38446.638447.038449.2/30,bt43077.143078.843078.1/30,ct47256.047255.847256.1/30,dt51078.451079.351078.3/30,et54670.954668.054667.6/30,振子的质量是a,b,c,d,e测得的振子周期。
31、为at,bt,ct,dt.et,振子周期的平方为AT,BT,CT,DT,ET,FT又,振子的周期的平方与振子的质量成正比,以下模型利用实验数据拟合二次曲线设直线的方程是ya1*xa2待定的系数是a1,a2.将实验数据分别带入x,y,得方程组,那么设方程组的系数矩阵为detax,detay。detax*q1onesN,1*q2detail其中,detax,detay均为列,N个一次方程,方程组中只有两个未知数,是超定方程,用最小二乘法可以直接运算qAB, 有Adetax.onesN,1; Bdetay;qAB编程m021.830; m1187.860; m249.790; m399.540; m。
32、499.790;am1m0/3; bm1m2m0/3; cm1m3m0/3; dm1m2m3m0/3; em1m3m4m0/3;fm1m2m3m0/3;at38446.638447.038449.2/30;bt43077.143078.843078.1/30;ct47256.047255.847256.1/30;dt51078.451079.351078.3/30;et54670.954668.054667.6/30;ATat*at; BTbt*bt; CTct*ct; DTdt*dt; ETet*et;detaxAT,BT,CT,DT,ET*10-6; detaya,b,c,d,e; 原始数。
33、据Adetax,ones5,1; Bdetay;qAB;r1/q1; 线性拟合plotdetax,detay,o,hold on 绘出原始数据图xi050;yiq1*xiq2;A1detax;q0A1B; 通过线性拟合plotxi,yi,xi,q0*xi, 绘图q2polyfitdetax,detay,2; yipolyvalq2,xi ; 二次拟合plotxi,yi; xlabel时间的平方 单位秒的平方;ylabel质量 单位克;hold off 8. 傅科摆文件名fkb.ma60;q4,0,0,0;ca*pi/180;t,xode45fkb,00.02220,q, ,c;cometx,1。
34、,x,3 文件名fkbfun.mfunction ttfkbt,x,flag,ca2*pi*sinc/100;b9.8/67;ttx2; 2*a*x4-b*x1; x4;-2*a*x2-b*x3;function varargout g_gui9varargin g_gUI9 M-file for g_gui9.figgui_Singleton 1;gui_State structgui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, g_gui9_OpeningFcn, . gui_OutputFcn。
35、, g_gui9_OutputFcn, . gui_LayoutFcn, , . gui_Callback, ;if nargin endif nargout varargout1nargout gui_mainfcngui_State, varargin;else gui_mainfcngui_State, varargin;endfunction g_gui9_OpeningFcnhObject, eventdata, handles, vararginhandles.output hObject;guidatahObject, handles;function varargout 。
36、g_gui9_OutputFcnhObject, eventdata, handlesvarargout1 handles.output;function popupmenu1_CreateFcnhObject, eventdata, handlesif ispc sethObject,BackgroundColor,white;else sethObject,BackgroundColor,get0,defaultUicontrolBackgroundColor;endfunction popupmenu1_CallbackhObject, eventdata, handlespopup_。
37、sel_index gethandles.popupmenu1, Value;switch popup_sel_index case 1 Choice sethandles.text19, String, 请选择合适的路径; case 2 Deng Ya sethandles.text19, String, 请输入新体积; case 3 Deng Rong sethandles.text19, String, 请输入新压强; case 4 Deng Wen sethandles.text19, String, 请输入新体积; case 5 Jue Re sethandles.tex。
38、t19, String, 请输入新体积; endfunction edit1_CreateFcnhObject, eventdata, handlesif ispc sethObject,BackgroundColor,white;else sethObject,BackgroundColor,get0,defaultUicontrolBackgroundColor;endfunction edit1 edit1_CallbackhObject, eventdata, handlesedit1 str2doublegethObject, String;if isnanedit1|edit1。
39、0 sethObject, String, ; errordlg must be a number but 0,Error;enddata getappdatagcbf, metricdata;data.edit1 edit1;setappdatagcbf, metricdata, data;function edit2_CreateFcnhObject, eventdata, handlesif ispc sethObject,BackgroundColor,white;else sethObject,BackgroundColor,get0,defaultUicontrolBackgr。
40、oundColor;endfunction edit2 edit2_CallbackhObject, eventdata, handlesedit2 str2doublegethObject, String;if isnanedit2|edit20 sethObject, String, ; errordlg must be a number but 0,Error;enddata getappdatagcbf, metricdata;data.edit2 edit2;setappdatagcbf, metricdata, data;function edit3_CreateFcnhO。
41、bject, eventdata, handlesif ispc sethObject,BackgroundColor,white;else sethObject,BackgroundColor,get0,defaultUicontrolBackgroundColor;endfunction edit3 edit3_CallbackhObject, eventdata, handlesedit3 str2doublegethObject, String;if isnanedit3|edit30 sethObject, String, ; errordlg must be a number but 0,Error;enddata getappdatagcbf, metricdata;data.edit3 edit3;setappda。