3.具有两个纵坐标标度的图形
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。
调用格式为:
plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一条曲线。
横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。
4.三维曲线
plot3函数与plot函数用法十分相似,其调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
5.legend命令:
为绘制的图形加上图例
调用格式:
legend('string1','string2',...)
例如:
legend('电信161班','学号:
05401111','张三','Location','best');
6.xlabel命令:
给X轴加标题
调用格式:
xlabel('string')
例如:
xlabel('x');
三、实验内容
1.在命令窗口中运行一个加法程序;
2.在命令窗口中练习帮助命令(doc命令)的使用。
3.建立第一个M文件,并运行,观察并保存运行结果。
四、实验步骤
1.在命令窗口中运行一个加法程序
(1)点击桌面上matlab7.0快捷方式图标,如图1.1所示,启动该软件。
图1.1matlab7.0快捷方式图标
(2)在打开的界面右方,是命令窗口(CommandWindows),如图1.2所示,在闪动光标处可以写入命令;
图1.2Matlab的命令窗口
(3)在光标处写入如图1.3所示的命令(注意:
前两个语句后面有分号,最后一个语句没有分号);按回车键,则得到运行结果为50,如图1.4所示。
图1.3在命令窗口输入命令
图1.4按回车键执行命令得到正确运行结果
2.在命令窗口中练习帮助命令(doc命令)的使用。
在命令窗口光标处输入命令:
docplot;回车,则进入在线帮助文件,显示plot命令的使用方法页面,如图1.5所示。
图1.5plot命令的在线帮助页面
3.建立第一个M文件,并运行,观察并保存运行结果。
(1)点击图标,如图1.6中红色圆圈所示,即创建了一个新的M文件,如图1.7所示。
图1.6红色圆圈的图标用于创建新的M文件
图1.7创建的空白M文件
(2)在空白M文件中输入“二、实验原理”例子的程序,保存,运行,得到运行结果如图1.8所示。
要求:
在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;将M文件保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_1.m;
特别说明两点:
a.M文件名及保存的路径名均应为英文,否则运行出错;
b.程序中的所有字符均应为英文状态下输入,特别注意单引号,逗号,空格,这些细节会导致运行报错,又极难发现。
图1.8M文件的保存、运行按键及运行结果
五、实验工具
1.计算机1台
2.MATLAB仿真软件1套
六、实验报告要求
1.写出仿真程序源代码。
2.在同一窗口用不同的线性绘制y=sinx,y=cosx在[0,2*pi]上的图像,并加标注。
3.在同一窗口用不同的线性绘制y=sin2x,y=cos2x在[-2*pi,2*pi]上的图像,并加标注。
(要在图中绘制出姓名与学号)
实验二单电荷的场分布
一、实验目的
1.掌握MATLAB仿真的基本流程与步骤;
2.学会绘制单电荷的等位线和电力线分布图。
二、实验原理
1.基本原理
单电荷的外部电位计算公式:
等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电
力线就是由点向外辐射的线,比较简单,这里就不再赘述。
2.参考程序
theta=[0:
0.01:
2*pi]';%创建向量theta,确定theta的范围为0到2*pi,步距为0.01
r=0:
10;%半径分别为r=0,1,2,...,10
x=sin(theta)*r;
y=cos(theta)*r;
plot(x,y,'b')%绘制10个圆
x=linspace(-5,5,100);%创建线性空间向量x,从-5到5,等间距分为100个点
fortheta=[-pi/40pi/4]
y=x*tan(theta);%分别绘制y=x*tan(theta)的三条直线,其中theta分别取-pi/4,0,pi/4
holdon;%Hold住绘制的图形
plot(x,y);%绘制y=x*tan(theta)的三条直线
end
gridon
%axistight
%legend('电信本162班','学号:
16401111','张三','Location','best');legend('boxoff');%加上图例
%xlabel('x');%加上横坐标标题
%ylabel('y');;%加上纵坐标标题
%holdon;
3.程序参考运行结果
运行程序,获得图像大致如图2.1所示。
图2.1单电荷的等位线和电力线分布图
三、实验内容
绘制单电荷的等位线和电力线分布图。
四、实验步骤
1.在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;
2.打开Matlab软件,新建一个空白的M文件,保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_2.m;
3.将源程序拷贝到M文件中,保存;
4.点击运行按钮,观察程序运行结果。
五、实验工具
1.计算机1台
2.MATLAB仿真软件1套
六、实验报告要求
1.写出仿真程序源代码。
2.绘制单电荷的等位线和电力线分布图。
(要在图中绘制出姓名与学号)
实验三点电荷电场线的图像
一、实验目的
学会由解析表达式进行数值求解的方法。
二、实验原理
1.基本原理
考虑一个三点电荷系所构成的系统。
如图所示,其中一个点电荷-q位于坐标原点,另一个-q位于y轴上的点,最后一个+2q位于y轴的-点,则在xoy平面内,电场强度应满足
任意条电场线应该满足方程:
(1)
求解
(1)式可得:
(2)
这就是电场线满足的方程,常数C取不同值将得到不同的电场线。
2.参考程序
解出y=f(x)的表达式再作图是不可能的。
用Matlab语言即能轻松的做到这
一点。
其语句是:
symsxy%设置x,y变量;
forC=0:
0.1:
3.0
ezplot(2*(y+1)/sqrt((y+1)^2+x^2)-y/sqrt(y^2+x^2)-
(y-1)/sqrt((y-1)^2+x^2)-C,[-5,5,0.1]);%其中取了a=1,C=0,0.1,0.2,……,3.0
holdon;
end
3.程序参考运行结果
运行程序,获得图像大致如图3.1所示。
图3.1点电荷电场线的图像
三、实验内容
根据给出的三点电荷系所构成的系统电场线满足的方程,绘制其图像。
四、实验步骤
1.在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;
2.打开Matlab软件,新建一个空白的M文件,保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_3.m;
3.将源程序拷贝到M文件中,保存;
4.点击运行按钮,观察程序运行结果。
五、实验工具
1.计算机1台
2.MATLAB仿真软件1套
六、实验报告要求
1.写出仿真程序源代码。
2.绘制三点电荷系所构成的系统电场线的图像。
(要在图中绘制出姓名与学号)
实验四线电荷产生的电位
一、实验目的
理解交互式程序运行的过程。
二、实验原理
1.基本原理
设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m),
求在xy平面上的电位分布。
点电荷产生的电位可表示为
是一个标量。
其中r为电荷到测量点的距离。
线电荷所产生的电位可用积分或叠
加的方法来求。
为此把线电荷分为N段,每段长为dL。
每段上电荷为q*dL,看作
集中在中点的点电荷,它产生的电位为
然后对全部电荷求和即可。
2.参考程序
把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所
以可以省略一维,只取R为自变量。
把R从0到10米分成Nr+1点,对每一点计算其电位。
clearall;
L=input(‘线电荷长度L=:
’);
N=input(‘分段数N=:
’);
Nr=input(‘分段数Nr=:
’);
q=input(‘电荷密度q=:
’);
E0=8.85e-12;
C0=1/4/pi/E0;
L0=linspace(-L,L,N+1);
L1=L0(1:
N);L2=L0(2:
N+1);
Lm=(L1+L2)/2;dL=2*L/N;
R=linspace(0,10,Nr+1);
fork=1:
Nr+1
Rk=sqrt(Lm.^2+R(k)^2);
Vk=C0*dL*q./Rk;
V(k)=sum(Vk);
end
[max(V),min(V)]
plot(R,V),grad
3.程序参考运行结果
输入:
线电荷长度L=:
5
分段数N=:
50
分段数Nr=:
50
电荷密度q=:
1
可得最大值和最小值为:
ans=
1.0e+010*[9.31990.8654]
图像大致如图4.1所示。
图4.1点电荷电场线的图像
三、实验内容
根据给出的线电荷产生的电位方程,绘制电位图像。
四、实验步骤
1.在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;
2.打开Matlab软件,新建一个空白的M文件,保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_4.m;
3.将源程序拷贝到M文件中,保存;
4.点击运行按钮,观察程序运行结果。
五、实验工具
1.计算机1台
2.MATLAB仿真软件1套
六、实验报告要求
1.写出仿真程序源代码。
2.绘制线电荷产生的电位的图像。
(要在图中绘制出姓名与学号)
实验五有限差分法处理电磁场问题
一、实验目的
理解有限差分法处理电磁场问题。
二、实验原理
1.基本原理
在很多实际情况下,往往我们不知道电荷的分布情况,而只知道边界的电位。
例如在静电场中的导体,边界是等位面,但是表面上的电荷分布往往不一样,而且很难求得。
如果我们想求导体附近的电场,这里就介绍用差分法解电场的方法。
如果我们想求导体附近的电场,这里就介绍用差分法解电场的方法。
解决这个问题的关键是对电位使用以下结论:
在一个没有电荷的区域,给出一个
点的电位等于周围点的电位数值的平均值。
我们使用高斯定律以及以下公式来证
明这个结论:
(根据电压V的电场分量)(5.1)
我们将集中讨论该情况,其中电位只取决于两个坐标,x和y。
一个例子是一个带电的长圆柱体。
在一个点的电势只依赖于这一点在平面垂直于圆柱体的轴线,而不是z坐标。
对于这样一个二维的情况下,考虑一个点P的坐标(x,Y,Z),并在一个由高斯表面封闭的立方体的一面长度是2Δl,中心在P(图T8.1)。
如果立方体的内部没有电荷,通过立方体的电通量ΦE等于零。
由方程(T8.1)可知Z轴的电场分量为零,因为电势V并不是z的函数。
因此,并没有通过高斯表面的平行于xy-平面的电通量。
由于是一个小的立方体,通过其他四个面每通量有一个良好的逼近,等于在每面的中心和每一面的(2Δl)2的E的垂直分量的乘积。
总流量(等于0)可以表示为;
(5.2)
在一个没有电荷的区域,点P的电位数值等于P点周围电位值的平均值。
图5.1没有电荷的区域,点P的电位的求解示意图
使用式5.1,我们可以近似的写出电场的各分量:
(5.3)
我们可以得到P点的电位是:
(5.4)
总之,P点的电位值等于P点周围点的电位值的平均值,前提是
非常小。
2.计算机绘图算法
3.参考程序
计算场点电压值程序如下:
m=12
fork=1:
m
forj=1:
m
ifk==1
V(j,k)=1;
elseif((j==1)|(j==m)|(k==m))
V(j,k)=0;
else
V(j,k)=0.5;
end
end
end
cha=0.01;
delta=0;
n=0;
while
(1)
n=n+1;
fork=2:
m-1
forj=2:
m-1
Vnew(j,k)=1/4*(V(j+1,k)+V(j-1,k)+V(j,k+1)+V(j,k-1));
d=abs((Vnew(j,k)-V(j,k))/V(j,k));
ifd>delta
delta=d;
end
V(j,k)=Vnew(j,k);
end
end
ifdeltabreak;
end
if(n>100)
break;
end
delta=0.;
end
代入m=22
绘图程序:
k=1:
m;
j=1:
m;
[DX,DY]=gradient(V,.4,.4);
holdon
quiver(k,j,DX,DY,2)
holdoff
k=1:
m;
j=1:
m;
[DX,DY]=gradient(V,.4,.4)
A=(DX.^2+DY.^2).^0.5;
[DA,DB]=gradient(A,.4,.4);
holdon
quiver(k,j,DA,DB,2)
holdoff
3.程序参考运行结果
电场图和电力线图分别如图5.2、图5.3所示。
图5.2电场线的图像
图5.3电力线的图像
三、实验内容
有限差分法绘制带电长圆柱体的电位和电力线图像。
四、实验步骤
1.在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;
2.打开Matlab软件,新建一个空白的M文件,保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_5.m、Exp_5_1.m;
3.将源程序拷贝到M文件中,保存;
4.点击运行按钮,观察程序运行结果。
五、实验工具
1.计算机1台
2.MATLAB仿真软件1套
六、实验报告要求
1.写出仿真程序源代码。
2.绘制带电长圆柱体的电位和电力线图像。
(要在图中绘制出姓名与学号)