全文预览

MATLAB论文 Matlab在基础物理学中的应用

上传者:非学无以广才 |  格式:doc  |  页数:14 |  大小:346KB

文档介绍
表示电量Рydot=[p1*(y(1)+2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+... Рp2*(y(1)-2)/(sqrt((y(1)-2).^2+y(2).^2).^3); %dx/dt=Ex Рp1*y(2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+p2*y(2)/(sqrt((y(1)-2).^2+y(2).^2).^3)]; %dy/dt=EyР这里的y是微分方程的解矢量,它包含两个分量,y(1)表示x,y(2)表示y,解出y后就得到了x与y的关系,即可依此绘制出电场线。Р编写好函数文件后,命名为dcx1fun.m存在当前路径下,然后开始编写解微分方程的主程序dcx1.m:Р>> p1=10; p2=10; %点电荷所带电量Рaxis([-5,5,-5,5]); %设定坐标轴范围-5≤x≤5,-5≤y≤5 Рhold on %图形控制,不可擦除模式Рplot(2,0,'*r'); plot(-2,0,'*r') %绘制两源电荷Рa=(pi/24):pi/12:(2*pi-pi/24); %圆周上电场线起点所对应的角度Рb=0.1*cos(a);c=0.1*sin(a); %电场线起点所对应的相对坐标Рb1=-2+b;b2=2+b; %把起点圆周的圆心放置在源电荷处Рb0=[b1 b2]; c0=[c c]; %初始条件,所有电场线的起点Р%的横、纵坐标构成了矢量b0和c0 Рfor i=1:48 %循环求解48次微分方程Р[t,y]=ode45('dcx1fun',[0:0.05:40],[b0(i),c0(i)],[ ],p1,p2); %调用ode45求解,对应一个初条件(起点),求解出一条电场线Рplot(y(:,1),y(:,2),'b') %绘制出此条电场线Рend %结束循环,共绘制出48条电场线Р>>

收藏

分享

举报
下载此文档