1、MATLABMATLAB在物理中的应用在物理中的应用l1、大学物理与中学物理有什么区别?l2、你在大学物理学习中感到什么困难? l怎么办?怎么办?l 引进信息技术引进信息技术l MATLABMATLAB在物理中的应用在物理中的应用 在教学中应用信息技术,不仅仅是制作课件和学件。权威人士指出: “ 计算机在理工科中的低、中、高级应用分别是数值计算、计算机模拟和计算机智能。”l节约时间节约时间:用软件很方便快捷地计算出结果;用软件很方便快捷地计算出结果;l加深理解加深理解:用图形和模拟动画来展示和研究演化过程用图形和模拟动画来展示和研究演化过程,使抽象的问题形象化;使抽象的问题形象化;l培养能力:
2、培养能力:学生在这个研究过程中进行探索,有利于培养学生的创新精神和学生在这个研究过程中进行探索,有利于培养学生的创新精神和实践能力,这正是我院培养应用型人才的途径之一。实践能力,这正是我院培养应用型人才的途径之一。一、在力学中应用一、在力学中应用l1 1、一弹性球,初始高度、一弹性球,初始高度 h=10m,h=10m,向上初速度向上初速度 v v0 0=15m/s, =15m/s, 与地相碰的速度衰减系数与地相碰的速度衰减系数 k=0.8,k=0.8,计算任意时刻球的速计算任意时刻球的速度和位置。度和位置。l解:解:分析由运动方程分析由运动方程l20002222gt21tvyy,vdtyd g
3、t v v ,gdt -vdvdtdy , gdtdv gdtyd , mgdtydmy0一、在力学中应用一、在力学中应用l1 1、一弹性球,初始高度、一弹性球,初始高度 h=10m,h=10m,向上初速度向上初速度 v v0 0=15m/s, =15m/s, 与地相碰的速度衰减系数与地相碰的速度衰减系数 k=0.8,k=0.8,计算任意时刻球的速度计算任意时刻球的速度和位置。和位置。l解:解:(1 1)传统计算方法)传统计算方法l 第一次落地前第一次落地前l v=vv=v0101-gt , y=h+v-gt , y=h+v0101t-gtt-gt2 2/2 , T/2 , T1 1=3.62
4、s=3.62sl 第二次落地前第二次落地前l v v0202= -k(v= -k(v0101-gT-gT1 1) )l v= v v= v0202-gt , y= v-gt , y= v0202t-gtt-gt2 2/2 , T/2 , T2 2=2v=2v02/02/g gl第三次落地前第三次落地前l v v0303= -k(v= -k(v0202-gT-gT2 2) )l v= v v= v0303-gt , y= v-gt , y= v0303t-gtt-gt2 2/2/2l T T3 3=2v=2v03/03/g gl . . . . . . . . . . . .l第第n n次落地前
5、次落地前l v v0n0n= -k(v= -k(v0(n-1)0(n-1)-gT-gT(n-1)(n-1) )l v= v v= v0n0n-gt , y= v-gt , y= v0n0nt-gtt-gt2 2/2 /2 l T Tn n=2v=2v0n/0n/g g 计算计算 结果结果024681012141618-30-20-10010200246810121416180510152025 (2 2)用)用MATLABMATLAB计算程序计算程序lclear all %有衰减弹性小球运动程序有衰减弹性小球运动程序lv0=15; h=10; %初速度、高度初速度、高度lg=-9.8; k=0
6、.8; % 重力加速度重力加速度 衰减系数衰减系数lT=0;lfor t=0:0.05:20 l v=v0+g*(t-T); %求速度求速度l y=h+v0*(t-T)+g*(t-T)2/2; %求高度求高度l if y = 0l v0= - 0.8*v; l T=t; %取球每次落地时所用时间取球每次落地时所用时间 l h=0;l end l subplot(1,2,2) %画球的运动图像画球的运动图像l pause(0.) plot(1,y,or,MarkerSize,10, MarkerFace, 1,0,0) axis(0,2,0,25) l subplot(2,2,1) %画球的速度
7、曲线画球的速度曲线l axis(0,20,-25,30)l grid onl plot(t,v,*r,MarkerSize,2) l hold onl subplot(2,2,3) %画球的位置曲线画球的位置曲线l axis(0,20,0,25)l grid onl plot(t,y,*b,MarkerSize,2)l hold on l disp(t=,num2str(t,4), v=, l num2str(v,4), y=,num2str(y,2)lend 计算结果计算结果(3 3)用)用MATLABMATLAB仿真模拟仿真模拟 h=10m, v0=15m/s, k=0.8. 仿真仿真 结
8、果结果2、阻尼振动和受迫振动、阻尼振动和受迫振动l物体在媒质中受到阻力产生阻尼振动,物体在媒质中受到阻力产生阻尼振动, 设黏性阻力设黏性阻力l阻尼振动方程为阻尼振动方程为l在周期性外力作用下发生受迫振动,在周期性外力作用下发生受迫振动, 设周期性外力为设周期性外力为l则受迫振动方程为则受迫振动方程为202kmm,2202dd20ddxxxtt2202dd2cosddcxxxhttt20 2Fkhmmm,dxfdt c o scFt用用MATLABMATLAB计算阻尼振动程序计算阻尼振动程序lclear all %sy195.mclear all %sy195.mlxf=dsolve(D2x+w
9、02xf=dsolve(D2x+w02* *x=0,Dx(0)=0,x(0)=A,t);x=0,Dx(0)=0,x(0)=A,t);lxd=dsolve(D2x+2xd=dsolve(D2x+2* *b b* *Dx+w02Dx+w02* *x=0,Dx(0)=0,x(0)=A,t);x=0,Dx(0)=0,x(0)=A,t);lw0=3;w0=3;b=0.8b=0.8;A=0.2;A=0.2;lt=linspace(0,8,200);t=linspace(0,8,200);lxf1=eval(xf);xf1=eval(xf);lxd1=eval(xd);xd1=eval(xd);lb=0.9
10、9b=0.99* *w0w0; ;lxd2=eval(xd);xd2=eval(xd);lplot(t,xf1,.-r,t,xd1,.-b,t,xd2,.-g,t,0,.-k)plot(t,xf1,.-r,t,xd1,.-b,t,xd2,.-g,t,0,.-k)laxis(0,8,-0.25,0.25)axis(0,8,-0.25,0.25)计算结果及分析计算结果及分析l红线红线简谐振动,蓝线简谐振动,蓝线 阻尼振动,绿线阻尼振动,绿线 阻尼振动,阻尼振动,l阻尼振动周期比自由振动要长,当阻尼振动周期比自由振动要长,当 时,振幅按指数迅速缩减。时,振幅按指数迅速缩减。 2200.9922022
11、用用MATLABMATLAB计算受迫振动程序计算受迫振动程序lclear all %sy196.mclear all %sy196.mlxc=dsolve(D2x+2xc=dsolve(D2x+2* *b b* *Dx+w02Dx+w02* *x+hx+h* *cos(wccos(wc* *t)=0,Dx(0)=0,x(0)=A,tt)=0,Dx(0)=0,x(0)=A,t););lw0=0.3w0=0.3* *pi; b=0.1;pi; b=0.1;lA=0.2; h=0.4;A=0.2; h=0.4;lt=linspace(0,100,1000);t=linspace(0,100,1000
12、);li=1;i=1;lforfor k=0.1:0.01:2.5 % k=0.1:0.01:2.5 % k=wc/w0 驱动频率与固有频率之比驱动频率与固有频率之比l r(i)=k;r(i)=k;l wc=k wc=k* *w0;w0;l xc1=eval(xc); xc1=eval(xc);l a(i)=max(real(xc1); a(i)=max(real(xc1);l i=i+1; i=i+1;lendendlsubplot(2,1,1) %subplot(2,1,1) %画受迫振动振幅与频率比之间的关系曲线画受迫振动振幅与频率比之间的关系曲线lplot(r,aplot(r,a,.-
13、r).-r)lsubplot(2,1,2) %subplot(2,1,2) %画受迫振动曲线画受迫振动曲线lplot(t,xc1,-b,t,0,-r)plot(t,xc1,-b,t,0,-r)计算结果及分析计算结果及分析l 上图表示受迫振动的振幅上图表示受迫振动的振幅A随频率比随频率比k=wc/w0的变化曲线,看出当的变化曲线,看出当l驱动力的频率驱动力的频率wc接近系统的固有频率接近系统的固有频率w0时,发生共振现象。时,发生共振现象。l 下图表示稳定状态的受迫振动是一个与简谐驱动力同频率的简谐振动。下图表示稳定状态的受迫振动是一个与简谐驱动力同频率的简谐振动。000 .3 0 .10 .4
14、0 .2(0 , 2 .5 )chAkk,00.511.522.500.511.522.50102030405060708090100-0.4-0.200.20.4作业:作业:l 1、假设例、假设例1中,弹性小球每次落地损失中,弹性小球每次落地损失30%能量,重能量,重新计算和模拟小球的速度和位置。新计算和模拟小球的速度和位置。l 2、在例、在例2中,取中,取取不同值,取不同值,=0.001、0.05、0.1、0.5、2 等,看受迫振动的振幅如何变化?使等,看受迫振动的振幅如何变化?使k值变得更大值变得更大些,譬如些,譬如 k=20,看受迫振动曲线又有何变化?试从物理,看受迫振动曲线又有何变化
15、?试从物理规律上加以解释规律上加以解释. 二、在电磁学中应用二、在电磁学中应用l1 1、稳恒磁场的分布、稳恒磁场的分布. . 设电流环在设电流环在y-zy-z平面上,环平面上,环心通过坐标原点心通过坐标原点O O,环半径为,环半径为RhRh,通过的电流为,通过的电流为I0I0,计算并画出计算并画出z=0z=0处处x-yx-y平面上的磁场分布平面上的磁场分布. .l解:解:由毕奥由毕奥萨伐尔定律,电流元萨伐尔定律,电流元IdlIdl在空间在空间P P的磁感应强度的磁感应强度dBdB为下为下列矢量叉乘积列矢量叉乘积03d4IdlrBr dddd(dd )(dd )0ijkl rlxlylzrzly
16、 rylz irxlz rzlx jkrxryrz MATLAB计算程序计算程序lClear all %sy224.mlRh=input(请输入环半径请输入环半径,Rh=);lI0=input(请输入环电流请输入环电流,I0=);lmu0=4*pi*1e-7;lC0=mu0/(4*pi)*I0; %归并常数归并常数lNh=20; %电流环分段数电流环分段数lx=linspace(-3,3,Nh);y=x; %确定观测点的范围确定观测点的范围ltheta0=linspace(0,2*pi,Nh+1);%环的圆周角分段环的圆周角分段lthetal=theta0(1:Nh); ly1=Rh*cos(
17、thetal); %环各段矢量的起点坐标环各段矢量的起点坐标y1,z1lz1=Rh*sin(thetal);ltheta2=theta0(2:Nh+1); %注意注意thetal和和theta2的差别的差别ly2=Rh*cos(theta2); %环各段矢量的终点坐标环各段矢量的终点坐标y2,z2 lz2=Rh*sin(theta2);lxc=0; yc=(y2+y1)/2; zc=(z2+z1)/2; %计算环各段矢量中点的坐标分量计算环各段矢量中点的坐标分量 ldlx=0; dly=y2-y1; dlz=z2-z1; %计算环各段矢量计算环各段矢量d1的的3个分量,个分量,x1=x2=0l
18、NGx=Nh; NGy=NGx; %确定网格线数确定网格线数lfor i=1:NGy %循环计算各网格点上的循环计算各网格点上的B(x,y)值)值l for j=1:NGxl rx=x(j)-xc;ry=y(i)-yc;rz=0-zc; 计算矢径计算矢径r的的3个长度分量个长度分量,P点点z=0l r3=sqrt(rx.2+ry.2+rz.2).3; %计算计算r3l dlXr_x=dly.*rz-dlz.*ry; %计算叉乘积计算叉乘积dlr的的x和和y分量,分量,z分量为分量为0l dlXr_y=dlz.*rx-dlx.*rz;l Bx(i,j)=sum(C0*dlXr_x./r3); %
19、把环各段产生的磁场分量累加把环各段产生的磁场分量累加l By(i,j)=sum(C0*dlXr_y./r3);l B=(Bx.2+By.2).0.5; %计算计算B的大小的大小l endlendlsubplot(1,2,1),quiver(x,y,Bx,By); %用用quiver画磁场矢量图画磁场矢量图lxlabel(x),ylabel(y)laxis(-3,3,-3,3)lsubplot(1,2,2)lmesh(x,y,B); %画磁场大小分布图画磁场大小分布图lxlabel(x),ylabel(y),zlabel(v) 计算结果计算结果Rh=2m,I0=100A. 左图中的矢量并不代表磁
20、感应线,它们是均匀分布的,磁场的强弱是左图中的矢量并不代表磁感应线,它们是均匀分布的,磁场的强弱是用矢量的长短来表示的,右图中用矢量的长短来表示的,右图中z轴只表示磁场的大小轴只表示磁场的大小. -3-2-10123-3-2-10123xy-4-2024-4-2024012345678x 10-5xyB二、在电磁学中应用二、在电磁学中应用l2 2、求解下面直流电路中的、求解下面直流电路中的 i1i1、i3i3、V3V3、V5V5i2i1i3i7i4i6R7=12解:(1)传统计算方法l 应用基尔霍夫定律得应用基尔霍夫定律得l 6i2 + 12i7 =10l 4i3+12i6-12i7=0l (
21、4+2)i4-12i6 =0l i2=i3+i7l i3=i4+i6l i6+i4=i1 l 这是一个这是一个6元一次方程组,代入法可求解元一次方程组,代入法可求解i2i3i4i1i6i7(2 2)用)用MATLABMATLAB计算程序计算程序lclear alllA=0,6,0,0,0,12;0,0, 4,0,12,-12;l 0,0,0,6,-12,0;0,1,-1,0, 0,-1 ;l 0,0,1,-1,- 1,0;-1,0, 0,1,1,0 ;lb=10,0,0,0,0,0;li=Ablv3=i(3)*4lv5=i(4)*2结果结果li =l 0.5556l 0.9259l 0.5556l 0.3704l 0.1852l 0.3704lv3 =l 2.2222lv5 =l 0.7407(3 3)用)用MATLABMATLAB仿真模拟仿真模拟3 3、求解下面交流电路、求解下面交流电路 i1i1、i2i2、v vi2i1vII用用MATLABMATLAB仿真模拟仿真模拟仿真模拟结果仿真模拟结果