MATLAB的基本数据单位是矩阵,它的指令表达式与高等数学 中常用的形式十分相似,故用MATLAB来解决数学计算及实时 显示问题要比用编程语言做完全相同的事情简捷得多. MATLAB除具备卓越的数值计算能力外,它还提供了专业水平 的符号计算,文字处理,可视化建模仿真和实时控制等功能。
[1] 二、Matlab在静电场中的应用 高中选修课本3-1直接给出了点电荷,等量异种电荷的 电场线。如果把一些典型电场线的来龙去脉展现给学生,甚 至帮助学生经历推导证明,不但是对已有知识应用和新知识 的理解,更是培养学生勇于探索、尊重事实的科学态度的重 要途径。
下面通过用Matlab软件描绘点电荷空间电场分布特点, 来显现MATLAB在物理学中用简单的方法直观实现复杂的物 理规律。[2]1.方法1 电场线的曲线函数斜率为:
电场线函数的常微分方程为:
这样,就获得了一个关于曲线函数的一阶常微分方程。
利用常微分方程的数值解法就可以求出曲线函数并描绘出 来。
下面为主程序 clear,ratio=input(‘请输入电荷比:’);
%通过 人机交互获得电荷比 xm=2.5;
%x横坐标向量 ym=2;
%x纵坐标向量 x=linspace(-xm,xm);
%y横坐标范围 y=linspace(0,ym);
%y纵坐标范围y(1)=eps;
%零改为eps小值 plot([-xm;
xm],[0;
0],[0;
0],[-ym;
ym],’LineWidth’, 2)%画水平线和竖直线 C=atan((X+1)./Y)+ratio*atan((X-1)./Y);
% 计算电场线常数 r0=0.1;
%电场线起点半径 dth=20;
%第一个电荷的起始角和间隔 th=dth:dth:180-dth;
%角度向量 th=dth:dth:180-dth;
%角度向量 th=th*pi/180;
%化为弧度 x0=r0*cos(th)+1;
%起点横坐标 y0=r0*sin(th);
%起点纵坐标end %结束条件 2.方法2 [x,y]=meshgrid(-2:0.1:2,-2:0.1:2);
%meshgrid 产生“格点”矩阵,以0.1为步长建立平面数据网格。
z=1./sqrt((x-1).^2+y.^2+0.01)+1./sqrt ((x+1).^2+y.^2+0.01);
%写出电势表达式。
[dx,dy]=gradient(z);
% gradient(z),dx是z在 x方向的近似偏导数,dy是F在y方向的近似偏导数,求电势 在x,y方向的梯度即电场强度。
xx=[linspace(-2,2,10),2*linspace(1,1,10), linspace(-2,2,10),-2*linspace(1,1,10),.01*linspace (1,1,10),-.01*linspace(1,1,10)];
% linspace 是Matlab中的均分计算指令,用于产生x1,x2之间的N点行 线性的矢量。其中x1、x2、N分别为起始值、终止值、元素 个数。
streamline(x,y,dx,dy,xx,yy)% x、y、dx、dy 必须是同型矩阵,且至少应是2行2列的。绘制二维矢量(dx,dy)的流线型矢量场。(x,y,)是(dx,dy,)的坐标, 且(x,y)必须是二维的数据网格。(xx,yy)指定了这些 描绘矢量场的流线的起点坐标。输出参数是一个向量,向量 里存储着每根流线的句柄。
物理仿真实验已引起了大家的关注,出现了一些基于 Flash、Photoshop、 3D MAX之类的图形图像制作软件,这 些软件虽可以制作逼真的实验环境和生动的实验过程动画, 可产生实际实验所无法达到的效果.但这类软件对物理实验 规律和过程很少涉及 ,缺乏交互性,开发也很困难.而 Matalab软件的的出现,为解决这些问题开辟了一条光明大 道。
参考文献 [1]周群益,侯兆阳,刘让苏.MATLAB可视化大学物理学 [M].北京:清华大学出版社,2015:326.
扩展阅读文章
推荐阅读文章
推荐内容
钻爱网 www.zuanai.cn
Copyright © 2002-2018 . 钻爱网 版权所有 湘ICP备12008529号-1