Matlab在物理学中的应用_第1页
Matlab在物理学中的应用_第2页
Matlab在物理学中的应用_第3页
Matlab在物理学中的应用_第4页
Matlab在物理学中的应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab在物理学中的应用Matlab是一种广泛应用于工程计算及数值分析领域的功能强大的计算机高级语言,它集科学计算、图象处理于一身,并提供了丰富的图形界面设计方法。它的特点是语法结构简单,数值计算高效,图形功能完备,特别适合于非计算机专业的编程人员完成日常数值计算、科学实验数据处理、图形图象生成等通用性任务时使用,因而在统计、信号处理、自动控制、图象处理、人工智能及计算机通信等领域得到了广泛应用。现在,我们将介绍Matlab在物理学中的一些应用。首先,我们来介绍Matlab在动力学中的应用。动力学的最基本的公式为F=m*a,其中m是物体的质量,a是物体的加速度。如何验证上述公式的正确性呢?我们设计了一些实验,得到了在质量一定的情况下a与F的一些实验数据。而根据实验数据来确定a与F的关系,可以用Matlab中的拟合曲线来完成。实例如下:我们测得当m=0.45kg时,a与F的对应关系如下表所示:F(N)0.37260.74531.11571.49941.85662.2271a(m/s^2)0.08450.16900.25300.34000.42100.5050我们在Matlab中输入以下指令:F=[0.37260.74531.11571.49941.85662.2271];a=[0.08450.1690.2530.340.4210.505];p=polyfit(F,a,1);i=0:0.1:2.5;q=polyval(p,i);plot(F,a,'r.',i,q,'b-')axis([02.500.6])xlabel('F单位:N');ylabel('a单位:m/s^2');我们可以得到如下视图:上图中蓝色的直线是F与a线性拟合曲线,我们看到实验数据点(F,a)几乎全分布在拟合曲线上,由此我们可以大致得到结论,F与a呈线性关系。延长拟合曲线可发现其大致过原点,由此我们可以推断F与a成正比关系,直线的斜率即为物体质量的倒数。再次,我们来看看Matlab在绘制简谐运动图像上的应用。简谐运动方程为d^2(x)/d(t^2)+w*x=0,其解为x=Acos(wt+i)。所以对于某一特定的简谐运动方程的解,我们总可以绘制出相应的图像来直观地观察它的性质。实例如下:绘制出x=2cos(3t+1)的图像。我们可以在Matlab中输入以下指令:t=-2:0.1:4;x=2*cos(3*t+1);plot(t,x)axis([-24-33])gridon我们可以得到如下视图:从上幅图中,我们可以很直观地了解到简谐运动的周期性这一特点,而且还可以观察到它的振动幅度和振动频率。接着,我们再来看看Matlab在电磁学中的精彩表现。电势分布问题在电磁学中占有很重要的地位,在求解电场分布时,如果事先知道了电势的空间分布,那么问题将会简单很多。电势的函数表达式通常比较复杂,难以在脑海中形成物理图像,而Matlab则可以绘制出电势的空间分布图,以帮助我们直观地建立物理图像。实例如下:在xoy平面上x=2,y=0处有一正电荷,x=-2,y=0处有一负电荷,计算两点电荷电场中电势的空间分布。我们可以在Matlab中输入以下指令:[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)我们可以得到如下视图:mesh是三维网格作图命令,mesh(x,y,z)画出了每一个格点(x,y)上对应的z值(电势)。我们可以在图中清楚地看到电势在点(2,0,0)和(-2,0,0)处取得最值。还有,有时我们在讨论物理问题时,特别想弄清楚物体随时间变化的运动趋势或轨迹,这时就要借助Matlab的动画表现形式了。实例(1):已知质点在平面上同时参与x、y方向的简谐振动x=3*sin(5*pi*t+pi/4),y=2*sin(4*pi*t+pi/6).绘制出质点在平面上的运动轨迹。我们在Matlab中输入以下指令:t=0:0.01:20;A1=3;A2=2;wx=5*pi;wy=4*pi;phi1=pi/4;phi2=pi/6;x1=A1*sin(wx*t+phi1);y1=A2*sin(wy*t+phi2);comet(x1,y1)我们可以得到如下动图:程序动态地绘制了质点的运动,绘制结束后质点留下的轨迹如上图所示。实例(2):演示行波z=sin(kr+ωt)的传播过程。我们在Matlab中输入以下指令:[x,y]=meshgrid(-8:0.1:8);r=sqrt(x.^2+y.^2);fort=1:20axis([-88-88-88]);holdonz=sin(pi*r-0.2*pi*t);mesh(x,y,z);f(t)=getframe;cla;end我们可以得到如下动图:我们从上面动画中看到了横波形象化的传播过程。最后,再举一例电磁学中Matlab的应用。关于带电粒子在均匀电磁场中的运动问题从高中到大学我们一直在研究,如今学习Matlab后,我们不仅能够求解复杂的粒子运动问题,甚至还能画出粒子的运动轨迹。实例如下:设带电粒子质量为m,带电量为q,电场强度E沿y方向,磁感应强度B沿z方向,画出粒子的运动轨迹。先编写如下M函数文件:functionydot=ddlzfun(t,y,flag,q,m,B,E)%UNTITLEDSummaryofthisfunctiongoeshere%Detailedexplanationgoeshereydot=[y(2);q*B*y(4)/m;y(4);q*E/m-q*B*y(2)/m;y(6);0];end再编写解微分方程的主程序:q=1.6e-2;m=0.02;B=2;E=1;[t,y]=ode23('ddlzfun',[0:0.1:20],[0,0.01,0,6,0,0.01],[],q,m,B,E);plot3(y(:,1),y(:,3),y(:,5),'linewidth',2);gridonxlabel('x');ylabel('y');

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论