matlab物理案例分析
- 格式:ppt
- 大小:4.03 MB
- 文档页数:46
MATLAB在大学物理中的应用形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、Steve Bangert 合作成立了的MathWorks公司正式把MATLAB推向市场。
到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。
布朗运动表述的是悬浮在流体中的微粒受到流体分子与粒子的碰撞而发生的不停息的随机运动,其运动的剧烈程度受温度影响.这一运动比较抽象,我们可以用MATLAB 仿真,将其可视化.模拟效果如图 1 所示.图1 布朗运动的模拟效果图部分程序如下:axes(handles.axes1);global k;n = 50;x = rand(n,1)-0.5;y = rand(n,1)-0.5;h = plot(x,y,'.');axis([-1 1 -1 1]);axis square;grid off;set(h,'EraseMode','Xor','MarkerSize',24);if k >= 0;for i = linspace(1,10,10000)drawnowx = x + k /10000.* randn(n,1);y = y + k /10000.* randn(n,1);set(h,'xdata',x,'ydata',y);endelseinput('Error');end力学中的简谐振动和阻尼振动也可以用MATLAB 将其化为可视图形.如图 2 所示:2. 2 光学现象如干涉和衍射是光学中的重要物理现象,我们通过MATLAB 来实现衍射现象的可视化.单缝衍射程序:·40·李仲,董松,炊万年,沈武鹏:MATLAB 在大学物理课程及实验教学中的应用图2简谐振动规律和阻尼振动规律模拟效果图图3单缝衍射效果图functionpushbutton1_Callback(hObject,eventdata,handles)a = -2* pi:0.0001* pi:2* pi;P = (1 -sinc(a)).^2;plot(a,P)lgray = zeros(256,3);for i = 0:255lgray(i + 1,:)= (255 -i)/255;endimagesc(P)colormap(lgray)可视化效果如图 3 所示.还可根据单缝宽度来获得不同的衍射图像.2. 3 电磁学现象等量异种电荷电场线的[x ,y ]= meshgrid ( - 2: 0. 1: 2,- 2: 0. 1: 2) ; % 以 0. 1 为步长建立平面数据网格 z = 1. / sqrt ( ( x - 1) . ^2 + y. ^2 + 0. 01)- 1. / sqrt ( ( x + 1) . ^2 + y. ^2 + 0. 01) ; % 写电势表达式 [px ,py ]= gradient ( z ) ; % 求电势在 x ,y 方向的梯度即电场强度 contour ( x ,y ,z ,[- 12,- 8,- 5,- 3,- 1,- 0. 5,- 0. 1,0. 1,0. 5,1,3,5,8,12]) % 画等势线·41·青海民族大学学报(教育科学版)hold on % 作图控制quiver(x,y,px,py,'k')% 画出各点上电场的大小和方向等量异种电荷电势线描绘:[x,y]= meshgrid(-5:0. 2:5,-4:0. 2:4);% 建立数据网格z = 1. / sqrt((x -2). ^2 + y. ^2 + 0. 01)-1. / sqrt((x + 2). ^2 + y. ^2 + 0. 01);% 电势的表达式mesh(x,y,z)% 三维曲面绘图图4 等量异种电荷电场线及电势线描绘3 物理实验数据处理在物理实验中,通常对数据采用的是手工处理方法,常见的有列表法,作图法等,这些方法往往速度慢,效率低,而且过于繁琐.如最小二乘法是采用数理统计的方法来处理实验数据的,相比于图解法,用该方法处理实验数据更科学、更可信.但由于该方法复杂,计算量大,学生们很难顺利完成,而运用MATLAB 可以精确实现.它克服了最小二乘法计算量大的缺点,又简便易懂,很容易为学生所掌握,同时能拟合出较准确的曲线,轻松实现数据可视化.如在电阻的伏安特性曲线的绘制中,已知测得的电流、电压值分别为0. 662,0. 712,0. 782,0. 841,0. 931,0. 988A0. 1720,0. 1846,0. 2024,0. 2182,0. 2364,0. 2560V;可以用MATLAB 所提供的数据拟合多项式函数polyfit 和评估多项式函数polyval 来进行曲线拟合,并且可以计算误差平方和,方便的得到伏安特性曲线、电阻值和计算误差. 程序如下:x = [0. 1720,0. 1846,0. 2024,0. 2182,0. 2364,0. 2560];y = [0. 662,0. 712,0. 782,0. 841,0. 931,0. 988];·42·李仲,董松,炊万年,沈武鹏:MATLAB 在大学物理课程及实验教学中的应用p1 = polyfit(x,y,1);% 一次多项式拟合p2 = polyfit(x,y,9);% 九次多项式拟合q1 = polyval(p1,x);q2 = polyval(p2,x);s1 = sum((y -q1). ^2);% 一次多项式误差平方和s2 = sum((y -q2). ^2);% 九次多项式误差平方和plot(x,y,'* ')hold onplot(x,q1,'r')hold onplot(x,q2,'b:o')grid onp1,q1,s1,p2,q2,s2MATLAB 绘制的伏安特性曲线如图5 所示.拟合次数越高,曲线越精确,可以看出,一次拟合结果为:R = 3.9653 ±(2.5345e -004)Ω4 结语应用MATLAB 设计程序对物理现象规律进行模拟仿真,实现了物理现象、规律描述的可视化.通过物理实验数据处理程序的设计,可推动大学物理实验教学现代化的改革.这项实践活动不仅有助于增强学生对物理课程学习及MATLAB 软件应用开发的兴趣,还可实际应用于大学物理课程及实验教学的活动中.学以致用,是提高大学课程教学效果的有效途径和手段.参考文献:[1]苏金明,张莲花,刘波.MATLAB 工具箱应用[M].北京:电子工业出版社,2002.[2]彭芳麟.数学物理方程的Matlab 解法与可视化[M].北京:清华大学出版社,2004.[3]熊万杰.MATLAB 用于物理教学[J].物理通报,2004,(2)16 -19.·43·感谢您试用AnyBizSoft PDF to Word。
1. 单列波%%单列波t=0:0.001:10;A=input('振幅A=');w=input('频率w=');a=input('a=');y=A.*sin(w.*t+a);plot(t,y);pause(1),sound(y);ylabel('y'),xlabel('t')2. %%光的单缝衍射现象Lambda=500e-9; %a=input('a='); % 可取0.2e-3,1e-3,2e-3三种情况z=1 %ymax=3*Lambda*z/a; %Ny=51; %ys=linspace(-ymax,ymax,Ny); %NPoints=51; %yPoint=linspace(-a/2,a/2,NPoints); %for j=1:Ny %L=sqrt((ys(j)-yPoint).^2+z^2); %Phi=2*pi.*(L-z)./Lambda; %SumCos=sum(cos(Phi)); %SumSin=sum(sin(Phi)); %B(j)=(SumCos^2+SumSin^2)/NPoints^2; %endclf,plot(ys,B,'*',ys,B);grid; %3. %%用毕奥-沙伐尔定律计算电流环产生的磁场mu0=4*pi*1e-7;I0=5.0;Rh=1;C0=mu0/(4*pi)*I0;NGx=21;NGy=21;x=linspace(-Rh,Rh,NGx);y=linspace(-3,3,20);y=x;Nh=20;theta0=linspace(0,2*pi,Nh+1);theta1=theta0(1:Nh);y1=Rh*cos(theta1);z1=Rh*sin(theta1);theta2=theta0(2:Nh+1);y2=Rh*cos(theta2);z2=Rh*sin(theta2);xc=0;yc=(y2+y1)/2;zc=(z2+z1)/2;for i=1:NGyfor j=1:NGxrx=x(j)-xc;ry=y(i)-yc;rz=0-zc;r3=sqrt(rx.^2+ry.^2+rz.^2).^3;dlXr_x=dly.*rz-dlz.*ry;dlXr_y=dly.*rx-dlx.*rz;Bx(i,j)=sum(C0*dlXr_x./r3);By(i,j)=sum(C0*dlXr_y./r3); endendclf;quiver(x,y,Bx,By);4. %%多普勒效应x0=500;v=50;y0=20;c=330;w=1000;t=0:0.001:30;r=sqrt((x0-v*t).^2+y0.^2);t1=t-r/c;u=sin(w*t)+sin(1.1*w*t);u1=sin(w*t1)+sin(1.1*w*t1); sound(u);pause(5);sound(u1);5.亥姆霍兹线圈clear allmu0=4*pi*1e-7;I0=5.0;Rh=1;C0=mu0/(4*pi)*I0;NGx=21;NGy=21;x=linspace(-Rh,Rh,NGx);y=linspace(-Rh,Rh,NGy);Nh=20;theta0=linspace(0,2*pi,Nh+1); theta1=theta0(1:Nh);y1=Rh*cos(theta1);z1=Rh*sin(theta1);theta2=theta0(2:Nh+1);y2=Rh*cos(theta2);z2=Rh*sin(theta2);xc=0;yc=(y2+y1)/2;zc=(z2+z1)/2;for i=1:NGyfor j=1:NGxrx=x(j)-xc;ry=y(i)-yc;rz=0-zc;r3=sqrt(rx.^2+ry.^2+rz.^2).^3;dlXr_x=dly.*rz-dlz.*ry;dlXr_y=dly.*rx-dlx.*rz;Bx(i,j)=sum(C0*dlXr_x./r3);By(i,j)=sum(C0*dlXr_y./r3);endendBax=Bx(:,11:21)+Bx(:,1:11);Bay=By(:,11:21)+By(:,1:11);subplot(1,2,1)mesh(x(11:21),y,Bax);xlabel('x');ylabel('y'); subplot(1,2,2),plot(y,Bax),grid,xlabel('y');ylabel('Bx'); 6.库仑引力clear all;N=input('电荷数目N:');for ic=1:N %fprintf('-----\n 对电荷#%g\n',ic);rc=input('电荷位置[x y](米):');x(ic)=rc(1); %y(ic)=rc(2); %q(ic)=input('输入电荷量(库仑)'); endE0=8.85e-12; %C0=1/(4*pi*E0); %for ic=1:NFx=0.0; Fy=0:0; %for jc=1:N %if(ic~=jc) %xij=x(ic)-x(jc); yij=y(ic)-y(jc);Rij=sqrt(xij^2+yij^2); %Fx=Fx+C0*q(ic)*xij/Rij^3;Fy=Fy+C0*q(ic)*yij/Rij^3;endendfprintf('其它电荷作用在电荷#%g上的合力为:\n',ic); %fprintf('x-分量:%gN\n',Fx);fprintf('y-分量:%gN\n',Fy)end7.李萨如图形% lisaru.msyms t a1 a2 w1 w2x=cos(w1.*t+a1);y=sin(w2.*t+a2);a1=input('a1=');a2=input('a2=');w1=input('w1=');w2=input('w2=');tf=10;Ns=1000;t=linspace(0,tf,Ns);dt=tf/(Ns-1); %分Ns个点,求出时间增量dtxplot=eval(x);yplot=eval(y); %计算Ns个点的位置x(t),y(t)figure(gcf);subplot(1,2,1),for i=1:750plot(yplot(1:i),xplot(1:i)); %画点的轨迹图axis('equal'); grid ; %使两轴比例相同pause(0.01)end8.耦合振子m1=2;m2=2;K1=16;K2=4; % x0=[1;0];xd0=[6;6];tf=10; %M=[m1,0;0,m2];K=[K1+K2,-K2;-K2,K1+K2] ; %u(:,s)�[u,L]=eig(K,M) ; %t=linspace(0,tf,101);x=zeros(2,101); % for s=1:2 %alfa=sqrt(u(:,s)'*M*u(:,s)) ; %u(:,s)= u(:,s)/alfa; %w(j)=sqrt(L(j,j)); % xt=u(:,j)*(u(:,j)'*M*x0*cos(w(j)*t)+u(:,j)'*M*xd0/w(j)*sin(w(j)*t));x=x+xt; %endfor r=1:2 %x1,x1?? subplot(2,1,r)plot(t.x(r,:)),grid;xlabel('xxx');ylabel(['yyy',num2str(r)]);end9.拍频%%t=0:0.001:10;a1=input('??1=');w1=input('??1=');a2=input('??2=');w2=input('??2=');y1=a1*sin(w1*t);y2=a2*sin(w2*t);y=y1+y2;subplot(3,1,1),plot(t,y1),ylabel('y1')subplot(3,1,2),plot(t,y2),ylabel('y2')subplot(3,1,3),plot(t,y),ylabel('y'),xlabel('t')pause,sound(y1);pause(5),sound(y2);pause(5),sound(y),pausesubplot(1,1,1)10。
关于Matlab在大学物理教学中合理应用的研究报告(单位、姓名、学号等隐去)一、问题的提出:大学物理学是工科及数学、物理方面专业学生的一门必修课,由于大学物理学习中数学处理比较复杂,学生学习起来普遍感到困。
而随着科学技术的不断发展,各学科的分科越来越细,导致人们不得不花更多的时间在专业方向的深入学习上,从而不可能花大量的时间来深入学习并熟练应用相关数学知识。
另外,随着物理知识的深入和物理问题的复杂化,也很难通过书本上的几行字便在头脑中产生相应的物理情景,对物理问题的理解也变得更加困难。
因此,如何才能使得大学物理的学习变得更容易成为大学物理教学中的一个问题。
究其根本,物理教学过程中的大量数学知识要求成为问题的焦点。
如何才能让学生在学习的过程中摆脱繁冗的数学问题而更多地关注物理问题本身成为一个关键的问题。
由于现代电脑软件技术的发展,如Mathematica、Maple、Matlab、MathCAD 等数学软件在大学物理教学中的应用越来越广泛。
这些软件的引入为上述问题的解决提供了一种可能性。
Matlab以其杰出的图形及运算能力吸引了我的注意,那么Matlab如何在大学物理教学中进行应用?如何才能使得Matlab在大学物理教学过程中的促进作用最大化呢?这便是本课题要研究的。
二、选题的意义:Matlab在大学物理教学中的应用为解决大学物理学习难、教学难的问题提供了方向。
对于Matlab在教学过程中的应用的研究可以促使其在更多更广泛的物理学科及教学过程中内发挥作用,促进学生对大学物理知识的学习与理解,从而提高学生的学习效果,促进知识的深刻理解,培养物理学习的兴趣。
而针对Matlab 在大学物理教学过程中合理化运用问题的研究,将对今后大学物理教学效果的进一步提高有所帮助。
也为其他软件或高新技术在教学过程中的引入提供值得参考的资料。
三、对研究的理论界定:(一)名词解释:1、Matlab:Matlab为矩阵实验室(Matrix Laboratory)之意,是美国Mathworks公司于20世纪80年代推出的一种简便的工程计算语言。
应⽤MATLAB求解经典物理若⼲典型问题_本科⽣毕业论⽂应⽤MATLAB求解经典物理若⼲典型问题⼤学本科⽣毕业论⽂应⽤MATLAB求解经典物理若⼲典型问题The application of MATLAB in solving some classical physics questions摘要MATLAB是 MathWorks公司推出的⼀套科学计算软件,MATLAB的意思是矩阵实验室。
MATLAB具有起点低、功能强⼤、易学易⽤以及兼有数值运算和符号运算功能的优点。
利⽤MATLAB,绘图⼗分⽅便,它既可以绘制各种图形,包括⼆维图形和三维图形,还可以对图形进⾏修饰和控制。
本⽂通过在MATLAB环境下编写通过科学计算解决经典物理问题,如⼒学、热学、电磁学中的⼀些常见问题。
本⽂的思路主要是,先介绍经典物理习题,然后对习题进⾏分析,解答,再通过MATLAB 软件进⾏编程,模拟实验结果。
通过多次验证。
得到所需答案。
再通过图形绘制,形象的描绘出图形,与预期结果进⾏⽐较、验证。
作出总结。
本⽂展⽰的MATLAB 软件在解决物理问题中的应⽤。
关键词:⼒学;热学;电磁学;MATLAB程序ABSTRACT.MathWorks MATLAB is introduced in a scientific computing software, MATLAB means Matrix Laboratory . MATLAB has a low starting point, powerful, easy to use, and both numerical calculation and symbolic operation advantages. Using MATLAB, the drawing is very convenient, both to draw various graphics, including the two-dimensional graphics and three-dimensional graphics, graphics can also be modified and controlled. This article written by the MATLAB environment to solve by classical physics scientific computing problems, such as mechanical, thermal, electromagnetics some common problems. The main idea of this paper is to introduce classical physics problems, and then exercises to analyze, answer, and then programmed by MATLAB software to simulate the experimental results. Through multiple authentication. Get the answers you need. And through graphics rendering, the image depicts the graphics, compared with the expected results to verify. Conclusion. This article presents the MATLAB software to solve the problem of physics.Key Words:Mechanics;heat;electromagnetism,;MATLAB⽬录引⾔ (1)1 ⼒学问题 (3)1.1质点运动学 (3)1.1.1已知质点的运动⽅程求其速度和加速度 (3)1.1.2已知质点的运动⽅程求质点的轨迹 (4)1.1.3考虑空⽓阻⼒的抛射体运动 (5)1.1.4已知加速度求速度、运动⽅程和轨迹 (7)1.2卢瑟福散射(Rutherford scattering)研究 (8)2 热学问题 (11)2.1理想⽓体物态⽅程 (11)2.2范德⽡⽿斯⽅程 (12)2.2.1范德⽡⽿斯⽓体等温线 (12)2.2.2临界参数 (14)3电磁学问题 (15)3.1求电偶极⼦在其所在平⾯产⽣的电场中任⼀点P的电位 (15)3.2由电位的表⽰式计算电场并画出等电位线和电场⽅向 (16)3.3带电粒⼦在电磁场中的运动 (18)结论 (20)参考⽂献 (21)致谢 (22)引⾔近⼏⼗年来,计算机技术的⼴泛应⽤已经深⼊地影响到社会的各个⽅⾯,⼤⼤加快了社会的变⾰进程,计算机的应⽤离不开计算语⾔,⽽计算语⾔本⾝也处于不断的发展之中。
适合用Matlab解决的经典物理例题在物理学领域,经典物理例题一直是学习和研究的重要内容。
而Matlab作为一种强大的数学软件,非常适合解决各种物理问题。
本文将从力学、电磁学和热力学等多个方面,选取一些经典的物理例题,通过Matlab进行分析和求解,展示Matlab在解决物理问题时的强大用途。
1. 简谐振动问题简谐振动是物理学中一个重要的模型,涉及到弹簧振子、单摆等问题。
通过Matlab可以很方便地求解简谐振动的运动规律。
对于弹簧振子的运动方程,可以通过Matlab进行数值模拟,得到振动的周期、频率、位移等参数,从而更好地理解简谐振动的特性。
2. 电场问题在电磁学中,电场是一个重要的研究对象。
通过Matlab可以很容易地分析不同形状的电荷分布所产生的电场分布。
可以通过Matlab计算出点电荷、均匀带电细棒等情况下的电场分布,并绘制出电场线图,直观地展现电场的分布规律。
这样的分析对于理解电场的性质和相互作用具有重要意义。
3. 热传导问题热传导是热力学研究的一个重要方面,涉及到导热方程的求解和热量分布的分析。
通过Matlab可以对不同材料和形状的热传导问题进行数值模拟和求解。
可以通过Matlab计算出棒状材料中的温度分布随时间的演化,从而得到材料的热传导性能。
这样的分析对于工程实践中的热设计和材料选型具有重要指导意义。
4. 万有引力问题在力学中,万有引力是一个经典的例题,涉及到行星轨道、卫星运动等问题。
通过Matlab可以很方便地进行万有引力场下的物体运动模拟。
可以通过Matlab计算地球和月球的引力作用下的月球轨道,从而揭示天体运动的规律和特性。
这样的模拟对于探索宇宙中天体运动规律具有重要帮助。
总结回顾:通过以上例题的分析,我们不仅了解了Matlab在经典物理例题中的应用,也可以发现Matlab在解决物理问题时的便捷和高效。
当然,实际物理问题可能具有更多的复杂性和多样性,需要结合理论分析和实验数据进行综合研究。
MATLAB应用实例分析例分析Matlab应用例题选讲仅举一些运用MATLAB的例子,这些问题在数学建模中时常遇到,希望能帮助同学们在短时间内方便、快捷的使用MATLAB 解决数学建模中的问题,并善用这一工具。
常用控制命令:clc:%清屏; clear:%清变量; save:%保存变量; load:%导入变量一、利用公式直接进行赋值计算本金P以每年n次,每次i%的增值率(n与i的乘积为每年增值额的百分比)增加,当增加到r×P 时所花费的时间T为:(利用复利计息公式可得到下式) lnrnT() r,P,P(1,0.01i),T,r,2,i,0.5,n,12nln(1,0.01i)MATLAB 的表达形式及结果如下:>> r=2;i=0.5;n=12; %变量赋值>> T=log(r)/(n*log(1+0.01*i)) 计算结果显示为:T = 11.5813即所花费的时间为T=11.5813 年。
分析:上面的问题是一个利用公式直接进行赋值计算问题,实际中若变量在某个范围变化取很多值时,使用MATLAB,将倍感方便,轻松得到结果,其绘图功能还能将结果轻松的显示出来,变量之间的变化规律将一目了然。
若r在[1,9]变化,i在[0.5,3.5]变化;我们将MATLAB的表达式作如下改动,结果如图1。
r=1:0.5:9;i=0.5:0.5:3.5;n=12;p=1./(n*log(1+0.01*i));T=log(r')*p;plot(r,T)xlabel('r') %给x轴加标题ylabel('T') %给y轴加标题q=ones(1,length(i));text(7*q-0.2,[T(14,1:5)+0.5,T(14,6)-0.1,T(14,7)-0.9],num2str(i'))40350.5302520T 1151.510 22.55 33.50123456789r图11从图1中既可以看到T随r的变化规律,而且还能看到i的不同取值对T—r 曲线的影响(图中的六条曲线分别代表i的不同取值)。
MATLAB在大学物理课程教学中的应用-以多普勒效应为例摘要:运用MATLAB仿真大学物理实验,能够帮助学生更好的对物理概念和规律进行理解和掌握,同时有效提升学生运用科学计算的能力,极大的提高物理教学的效果。
本文以多普勒效应相关内容为例,进行MATLAB仿真模拟分析。
关键词:多普勒效应 MATLAB 仿真分析在计算机仿真日益盛行的今天,作为一种重要的科学工具,计算机已经广泛渗透到人们生活的方方面面。
随着计算机仿真技术的发展,利用仿真虚拟技术展示客观物理现象,在各行各业均得到了广泛应用,逐渐成为社会发展进步不可或缺的手段。
在高校物理教学领域里,信息技术与教学相结合所带来的教育信息化已经成为当前高校物理教育改革的热门研究课题和教育发展的必然趋势。
一方面,利用计算机仿真技术优势,将枯燥难懂的物理问题变成一幅幅生动的画面,增强了教学内容的直观性,生动性,扩展了教学内容,开拓了学生视野,促进了学生对知识的理解和掌握。
另一方面,利用MATLAB仿真大学物理实验可以大大激发学生对物理知识的好奇心和求知欲,强化了学生继续探索的动机,激发了学生的创新意识,同时也极大地提高大学物理课程教学效果。
另外,用 MATLAB 制作的软件有极其丰富的表现内涵和巨大的表现能力,能够具体形象地再现各种实验概念,有效地揭示事物的本质和内在联系,将它应用于课堂教学,极大地扩展教学空间,化繁为简,变难为易,使学生对教学内容更容易理解和掌握。
本文就以物理课程中的多普勒效应为例进行仿真模拟分析,研究接收者接收到的频率变化规律。
我们知道,当一辆汽车在我们的身旁疾驰而过的时候,车上喇叭的音调呈现出从高到低的突然变化过程。
同样的,当我们在铁路旁听列车的汽笛声也能够发现,列车迅速迎面而来时音调较静止时高,而列车迅速离去时则音调较静止时低。
这种由于波源和接收者相对运动而出现接收者接收频率变化的现象,称之为多普勒效应。
多普勒效应最早由奥地利物理学家多普勒在1842年首先发现。