讲稿版利用Matlab模拟点电荷电场的分布_线电荷matlab模拟

2020-02-29 其他范文 下载本文

讲稿版利用Matlab模拟点电荷电场的分布由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“线电荷matlab模拟”。

利用MATLAB模拟点电荷电势的分布

一、目的1.熟悉单个点电荷及一对点电荷的电势分布情况; 2.学会使用MATLAB进行数值计算,并绘出相应的图形;

二、原理

根据库仑定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,Q1Q2R(式1)两电荷同号为斥力,异号为吸引力,它们之间的力F满足:Fk 2RkQEE由电场强度的定义可知:2R(式2)

R对于点电荷,根据场论基础中的定义,有势场E的势函数为UkQ(式3)R在MATLAB中,由以上公式算出各点的电势U,可以用MATLAB自带的库函数绘出相应的电势分布情况。

三、MATLAB基本语法

(一)标识符与数

标识符是标志变量名、常量名、函数名和文件名的字符串的总称。(二)矩阵及其元素的赋值

赋值就是把数赋予代表常量或变量的标识符。MATLAB中的变量或常量都代表矩阵,标量应看作1×1价的矩阵。赋值语句的一般形式为 变量=表达式(或数)列如,输入语句 a=[1 2 3;4 5 6;7 8 9] 则显示结果为 a=1 2 35 68 9 输入 x=[1 2 3 4 5 6 7 8 9] 结果为

x= 1 2 3 4 5 6 7 8 9 可以看出,矩阵的值放在方括号中,同一行中各元素之间以逗号或空格分开,不同行的元素以分号隔开。语句的结尾可用回车或逗号“,”,此时会立即显示运算结果;如果不希望显示结果,就以分号“;”结尾再回车,此时运算仍然执行,只是不作显示。

变量的元素用圆括号“()”中的数字(也称为下标)来注明,一维矩阵(也称数组)中的元素用一个下标表示,二维矩阵可有两个下标数,以逗号分开。在MATLAB中可以单独给元素赋值,例如,a(2,3)=6,x(2)=2等。(三)元素群运算

把n×m矩阵中的每个元素当作对象,成群地执行某种运算,称为元素群运算。元素群运算能大大简化编程,提高运算的效率,这是MATLAB优于其它许多语言的一个特色。

1、数组及其赋值

数组通常是指单行或单列的矩阵,一个N阶数组就是1×N或N×1阶矩阵。N阶数组可以表示N维向量。

在求某些函数值或曲线时,常常要设定自变量的一系列值,例如,设间隔n在x轴上从-3到3之间,每隔1取一个点,共7个点,这是1×7阶的数组。如果逐点给它赋值,将非常麻烦。MATLAB提供了两种给等间隔数组赋值的简易方法。(1)用两个冒号组成等增量语句,其格式为x=[初值:增量:终值]。例如,键入

x=[-3:1:3] 得x=-3-2-1 0 1 2 3

当然增量为1时,这个增量值是可以略去的。

(2)linspace函数表述等距离分割,其格式为x=linspace(初值,终值,点数)。例如键入 x=linspace(-3,3,7)得x=-3-2-1 0 1 2 3

在x轴上-3和3实际上是一个点,所以这个命令是把x轴分为7份。第三个变元也可以不写,此时取默认值100.2、元素群的四则运算和幂次运算 元素群运算也就是单个元素之间的运算。为了与矩阵作为整体的运算符号相区别,要在运算符“*”、“/”、“”、“^”前加一个点符号“.”,以表示进行元素群运算。矩阵的加减法本来就是对元素进行的,故不再有元素群运算符。参与元素群运算的两个矩阵必须是同价的(标量除外)。

下列的例子可以说明利用元素群运算的优越性。例如,要求列出一个三角函数表。这在MATLAB中只要一下两个语句

键入 x=[0:0.1:pi/4]’;[x, sin(x), cos(x), tan(x)] 第一条语句把数组x赋值,经转置后成为一个列向量。因为sin, cos,tan函数都对元素群有效,得出的都是同阶的列向量。第二条语句把4个列向量组成一个矩阵,进行显示。

得 0

0

1.0000

0

0.1000

0.0998

0.9950

0.1003

0.2000

0.1987

0.9801

0.2027

0.3000

0.2955

0.9553

0.3093

0.4000

0.3894

0.9211

0.4228

0.5000

0.4794

0.8776

0.5463

0.6000

0.5646

0.8253

0.6841

0.7000

0.6442

0.7648

0.8432 第一列是x,以下各列依次是sin(x), cos(x), tan(x)。for语句

for语句的结构形式为

for k=初值:增量:终值

语句组A,end 即它把语句组A反复执行N次。在每次执行时程序中k值不同。可以算出循环次数为N=1+(终值—初值)/增量 用for 语句求三角函数表的程序为 for x=0:0.1:pi/4 disp([x, sin(x), cos(x), tan(x)]);end 所得结果将和上个例题中的答案相同。可以看出,MATLAB的元素群运算功能与一个for循环相当,由于它不需要每次检验表达式,运算速度比for语句快得多。for 语句可以嵌套使用。

四、MATLAB现用函数介绍

MATLAB语言的难点是函数较多,仅基本部分就有700多个,其中常用的近200个,要尽量多记少查,以提高编程效率,而且这是终生受益的。

1、线型分隔函数linspace(-xm,xm,n):在-xm与xm之间均分地产生n个点值,形成1×n元向量。其中-xm是初值,xm是终值,n是点数。

2、两个变量的标量指令 [X,Y]=meshgrid(x,y):将向量x,y变换为数组X,Y,这样就可以将两个一维向量生成两个二维矩阵。其中,数组X的各行是向量x的拷贝,总行数为y向量的元素个数;数组Y的各列是向量y的拷贝,总列数为x向量的元素个数。例如x=-3:3;y=1:5;[X,Y]=meshgrid(x,y)X=-3-2-1 0 1 2 3-3-2-1 0 1 2 3-3-2-1 0 1 2 3-3-2-1 0 1 2 3-3-2-1 0 1 2 3 Y= 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 Z=(X+Y).^2 Z= 4 1 0 1 4 9 16 1 0 1 4 9 16 25 0 1 4 9 16 25 36 1 4 9 16 25 36 49 4 9 16 25 36 49 643、二维空间中绘制等高线函数 contour(X,Y,U,u):就是挑选出电势相等的点,并在向量u指定的值上绘制等高线。注意u取值要恰当。

四、编程

1.画单个点电荷的平面电场线与等势线 clear %清除变量

E0=8.85e-12;%真空电介质常数 C0=1/4/pi/E0;%归并常数 q=1.6*10^(-19);%元电荷电量 xm=2.5;%横坐标范围 ym=2;%纵坐标范围

x=linspace(-xm,xm);%横坐标向量 y=linspace(-ym,ym);%纵坐标向量 [X,Y]=meshgrid(x,y);%设置坐标网点 R=sqrt(X.^2+Y.^2);%点电荷到场点的距离 U=C0*q./R;%计算电势

u=1e-9:0.5e-9:5e-9;%等电势的电势向量 figure %创建图形窗口 contour(X,Y,U,u)%画等高线 hold on %保持图形

plot(0,0,'o','markersize',12)%画点电荷 axis equal tight %使坐标刻度相等

title('单个点电荷的平面电场线与等势线','fontsize',20)%显示标题 xlabel('r','fontsize',16)%显示横坐标 ylabel('E(U)','fontsize',16)%显示纵坐标

2.画一对点电荷对的电场线和等势线 clear %清除变量

E0=8.85e-12;%真空电介质常数 C0=1/4/pi/E0;%归并常数 q=1.6*10^(-19);%元电荷电量 a=1;%电量比 xm=2.5;%横坐标范围 ym=2;%纵坐标范围 x=linspace(-xm,xm);%横坐标向量 y=linspace(-ym,ym);%纵坐标向量 [X,Y]=meshgrid(x,y);%设置坐标网点

R1=sqrt((X+1).^2+Y.^2);%第一个正电荷到场点的距离 R2=sqrt((X-1).^2+Y.^2);%第二个正电荷到场点的距离 U=C0*q./R1+C0*q./R2;%计算电势 u=1e-9:0.5e-9:5e-9;%等电势的电势向量 figure %创建图形窗口 contour(X,Y,U,u)画等势线 grid on %加网格

legend(num2str(u'))%图例 hold on %保持图像

plot(-1,0,'o','markersize',12)%画第一个正电荷 plot(1,0,'o','markersize',12)%画第二个正电荷 axis equal tight %使坐标刻度相等

title('等量同号点电荷的电场线和等势线','fontsize',20)%显示标题 xlabel('r','fontsize',16)%显示横坐标 ylabel('E(U)','fontsize',16)%显示纵坐标

txt=['µçºÉ±È:itQrm_2/itQrm_1=' num2str(a)];%电荷比文本 text(-xm,-ym-0.3,txt,'fontsize',16)%显示电荷比

下列的例子可以说明利用元素群运算的优越性。例如,要求列出一个三角函数表。这在MATLAB中只要一下两个语句 键入 x=[0:0.1:pi/4]’;[x, sin(x), cos(x), tan(x)] 第一条语句把数组x赋值,经转置后成为一个列向量。因为sin, cos,tan函数都对元素群有效,得出的都是同阶的列向量。第二条语句把4个列向量组成一个矩阵,进行显示。得 0

0

1.0000

0

0.1000

0.0998

0.9950

0.1003

0.2000

0.1987

0.9801

0.2027

0.3000

0.2955

0.9553

0.3093

0.4000

0.3894

0.9211

0.4228

0.5000

0.4794

0.8776

0.5463

0.6000

0.5646

0.8253

0.6841

0.7000

0.6442

0.7648

0.8432 第一列是x,以下各列依次是sin(x), cos(x), tan(x)。for语句

for语句的结构形式为

for k=初值:增量:终值

语句组A,end 即它把语句组A反复执行N次。在每次执行时程序中k值不同。可以算出循环次数为N=1+(终值—初值)/增量 用for 语句求三角函数表的程序为 for x=0:0.1:pi/4 disp([x, sin(x), cos(x), tan(x)]);end 所得结果将和上个例题中的答案相同。可以看出,MATLAB的元素群运算功能与一个for循环相当,由于它不需要每次检验表达式,运算速度比for语句快得多。for 语句可以嵌套使用。

利用matlab计算极限值

1、计算极限值例子:计算x(21/x1)当x无穷大时的值x 的值正无限在matlab中表示为+inf;程序清单如下L1.0>> syms x>> limit(x*(2^(1/x)-1),x,inf)ans =log(2)若想结果用小数点表......

利用MATLAB求线性方程组

《MATLAB语言》课成论文 利用MATLAB求线性方程组 姓名:郭亚兰 学号:12010245331 专业:通信工程班级:2010级通信工程一班 指导老师:汤全武学院:物电学院 完成日期:2011年12月17日利......

利用多点地质统计学方法模拟岩相分布论文

利用多点地质统计学方法模拟岩相分布论文传统的地质统计学是利用变差函数描述地质变量的相关性和变异性,通过建立在某个方向上两点之间的地质变量的变化关系来描述空间的变化......

利用多点地质统计学方法模拟岩相分布论文

传统的地质统计学是利用变差函数描述地质变量的相关性和变异性,通过建立在某个方向上两点之间的地质变量的变化关系来描述空间的变化特性.但是,建立在两点统计关系上的变差函......

模拟法庭讲稿

今天我校部分学生代表成功地进行了“小学生模拟法庭”庭审活动。在此次活动的准备过程中,市刑事审判庭杨庭长率庭里的同志精心挑选案例,学校政教处的几位主任细心选用学生,并组......

《讲稿版利用Matlab模拟点电荷电场的分布.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
讲稿版利用Matlab模拟点电荷电场的分布
点击下载文档
相关专题 线电荷matlab模拟 点电荷 电场 讲稿 线电荷matlab模拟 点电荷 电场 讲稿
[其他范文]相关推荐
[其他范文]热门文章
下载全文