华科电磁场matlab仿真作业
Matlab实现电磁场数值计算
第2章
第2章
Matlab直观描述复杂的物理现象
均匀带电线段的电场和电势分布
电量均匀分布在长2L的线段上,单位长度上的电荷密度为τ。 (1)求任一点的电场强度,电场强度分布曲面的规律是什么? (2)求任一点的电势,电势分布曲面的规律是什么?电场线和等 势线是如何分布的?
距离带电线段越近, 电势就越高。
数值法
有限差分法 有限元法 边界元法 矩量法 积分方程法
计算电磁场问题的方法 数值法 解析法 分离变量法:严格求解偏微分方程的经典方法 变换数学法:严格求解积分方程的方法 解析法的优点是: ①可将解答表示为已知函数的显式,从而计算出精确的数值结果; ②可以作为近似解和数值解的检验标准; ③在解析过程中和在解的显式中可以观察到问题的内在联系和各个 参数对数值结果所起的作用。
电磁场分布型问题的数值积分法 梯形法
Matlab实现电磁场数值计算
均匀带电线段的电场
真空中有一长为L的均匀带电直导线,带 电量为Q ,试求中垂线上P 点的电场。
dz
解析法:
z 1 1 Ez - ( ) 3 dz 2 2 2 2 L1 4 π ( z ) 2 2 2 4 π o L L o 2 1 L2 L1 L ( 2 2 ) E L d z 2 2 2 2 4 π L L o 4π o ( z ) 2 1
N越大,子区间越窄,数值解和解析解越接近;
当距离ρ 大于30后,数值解与解析解十分接近,能够满足电磁场工程的一般要求。
z L / 2 (n 0.5)z NMAX=1000; Q=1; N z L=10; E p=Q/L; 4 0 n1 2 L / 2 (n 0.5)z 2 3 2 aa=[1,5,10,20,30,40,50,100,600,1000,0]; eplot1=aa L eplot2=aa E E0=(1/36/pi)*1e-9; 2 0 L2 4 2 disp(' ') disp('参数取值:') disp([ ‘ ','棒长L=',num2str(L),',','棒的总电荷Q=',num2str(Q),',','N=',num2str(NMAX)]) disp(' ') disp([ ‘ ','距离a',' ','数值解E',' ','精确解E1']); i=1; while(1); a=aa(i); if a<=0 break;end dz=L/NMAX; E=0; for n=1:NMAX temp=sqrt(a*a+((n-0.5)*dz-L/2)^2); E=E+dz/temp^3; end E=p*a/(4*pi*E0)*E; eplot1(i)=log(E) E1=p*L/(2*pi*E0*a*sqrt(4*a*a+L*L)); eplot2(i)=log(E1) disp([' ',num2str(a),' ',num2str(E),' ',num2str(E1)]); i=i+1; end clf plot(aa(1:10),eplot1(1:10),'r-',aa(1:10),eplot2(1:10),'b.','MarkerSize',20,'LineWidth',2) legend('数值解','解析解','Location','Best') xlabel('距离\rho') ylabel('log(E)')
电磁场的Matlab仿真.
Matlab 与电磁场模拟一单电荷的场分布:单电荷的外部电位计算公式:qφ=4πε0r等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线。
MATLAB 程序:theta=[0:.01:2*pi]'; r=0:10;x=sin(theta*r; y=cos(theta*r; plot(x,y,'b' x=linspace(-5,5,100; for theta=[-pi/4 0 pi/4] y=x*tan(theta; hold on ; plot(x,y; end grid on单电荷的等位线和电力线分布图:二多个点电荷的电场情况:模拟一对同号点电荷的静电场设有两个同号点电荷, 其带电量分别为 +Q1和+Q2(Q1、Q2>0 距离为 2a 则两电荷在点P(x, y处产生的电势为:由电场强度可得E = -∇U, 在xOy 平面上, 电场强度的公式为:为了简单起见, 对电势U 做如下变换:。
Matlab 程序:q=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=1./R1+q./R2; u=1:0.5:4; figure contour(X,Y,U,u grid onlegend(num2str(u' hold onplot([-xm;xm],[0;0] plot([0;0],[-ym;ym]plot(-1,0,'o' , 'MarkerSize' ,12 plot(1,0,'o' , 'MarkerSize' ,12 [DX,DY] = gradient(U; quiver(X,Y,-DX,-DY; surf(X,Y,U;同号电荷的静电场图像为:50403020100-22同理,将程序稍作修改,便可以得到异号电荷的静电场图像:403020100-10-20-30-4022.5三、线电荷产生的电位:设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m,求在xy 平面上的电位分布。
华科电气matlab第一次作业
第一次作业(2015.10.27)目的:熟悉MA TLAB 的基本应用要求:用editor 对程序进行编辑和调试,形成相应的脚本文件(*.m )。
1.1若已知某电路参数,输入电压,绘制其输出电压的波形如图1,已知:R1=3Ω,R3=6Ω,C=1uF ;us=18V ,is=3A 。
在零初始条件下,开关s 开路,当t=0时,开关S 闭合,求uc ,并画出波形;图1下列程序仅供参考(注:本例中的RC 电路非图1所示的电路):已知一阶RC 电路的端电压的表达式为 10s ~0 ,62==-t e u t ,试绘制电压波形u 。
t=0:0.1:10;u=6*exp(-2*t);plot(t,u);title('RC response');xlabel('t/s');ylabel('V/V')grid解得u = -12+12/exp(t/(2*(e - 6)))t=0:1e-8:1e-5; %以10-8为间隔,在0到10-5区间内取点u=12*exp(-2e 6*t)-12; %算出t 时刻对应的电压值plot(t,u); %以t 为横坐标,u 为纵坐标画图title('RC response'); %以RC response 为标题xlabel('t/s'); %以t/s 为横坐标ylabel('V/V') %以V/V 为纵坐标grid2. 已有两组测试数据不等的曲线,对其进行拟合和插值处理。
2.1给例程2.1加入注释,说明程序的用途和调试结果,尝试修改x,y,或polyfit的不同设置。
熟悉fitting工具例程2.1:clear;clc;close;%删除工作空间的所有变量,删除命令窗口的所有变量,关掉图形x=0:0.1:2*pi; %在0到2pi范围内,以0.1为步长,随机生成样本点y = sin(x)+0.5*rand(size(x)); %随机矩阵生成yp = polyfit(x,y,4) %拟合成4阶多项式y1= polyval(p,x); %求多项式y1的值plot(x,y, '+',x,y1, '-r') %绘制y与x的函数关系曲线title('fitting')%曲线命名为fitting2.2 给例程2.2加入注释,说明程序的用途和调试结果,尝试修改xs,ys,或xi,或interp1的不同设置,熟悉插值的用法。
带电粒子在电磁场中运动的MATLAB仿真
目录第1章概述 (1)第2章MATLAB的基础知识 (2)2.1 MATLAB使用介绍 (2)2.2 MATLAB的基本知识 (2)2.3利用MATLAB作图 (5)第3章实验原理及仿真结果分析 (7)3.1 带电粒子在电磁场中运动的原理 (7)3.2 质量较大的带电微粒在复合场中的运动 (7)3.3 带电粒子垂直射入E和B正交的叠加场的运动分析 (8)3.4 实验内容 (8)第4章 MATLAB仿真的应用 (11)4.1 用MATLAB仿真带电粒子在磁场中运动的优点 (11)4.2 用MATLAB仿真在物理实验中的应用 (11)第5章总结 (12)参考文献 (13)附录 (14)第1章概述计算机数值模拟的研究方法已成为继实验研究和理论分析之外的第三种研究手段,在基础物理学习中适当引入计算机数值方法,有助于将一些高深的物理知识深入浅出、生动形象地学习。
随着计算机的普及,MATLAB在基础物理中的应用日益广泛。
MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30 多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。
MATLAB具有其他高级语言难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,因此MATLAB 语言也被通俗地称为演算纸式科学算法语言。
在控制、通信、信号处理及科学计算等领域中,MATLAB 都被广泛地应用,已经被认为能够有效提高工作效率、改善设计手段的工具软件,掌握了MATLAB 好比掌握了开启这些专业领域大门的钥匙[1]。
带电体在复合场中运动的基本分析:这里所讲的复合场指电场、磁场和重力场并存, 或其中某两场并存, 或分区域存在, 带电体连续运动时, 一般须同时考虑电场力、洛仑兹力和重力的作用。
在不计粒子所受的重力的情况下,带电粒子只受电场和洛仑兹力的作用,粒子所受的合外力就是这两种力的合力,其运动加速度遵从牛顿第二定律。
电磁场matlab仿真实验
电磁场matlab 仿真实验一实验一:[例7-5]试分析一对等量异号的电荷周围空间上的电位和电场分布情况。
分析:将等量异号的电荷的几何中心放置于坐标原点位置,则它们在空间某点p 处产生的点位为:()G q g g q r r q r q r q02102102010*******πξπξπξπξπξϕ=-=⎪⎪⎭⎫ ⎝⎛-=-= 其中G 为格林函数 ()()22222cos 2/cos 2/1r dr d r r dr d r +-=+-=θθ 将G 用片面积坐标表示为⎪⎪⎭⎫ ⎝⎛=12ln g g G 在编程时,将G 当作点位函数处理,并利用梯度求出唱腔E=-▽φ。
用matlab 的m 语言编写的程序如下:[x,y]=meshgrid(-10:0.1:10);[Q,R]=cart2pol(x,y);R(R<=1)=NaN;q=input('请输入电偶极子的电量q =') %原程序有误,以此为准d=input('请输入电偶极子的间距d =') %原程序有误,以此为准E0=8.85*1e-12;K0=q/4/pi/E0;g1=sqrt((d./2).^2-d.*R.*cos(Q)+R.^2); %原程序有误,以此为准g2=sqrt((d./2).^2+d.*R.*cos(Q)+R.^2); %原程序有误,以此为准G=log(K0*g2./g1);contour(x,y,G,17,'g');hold on[ex,ey]=gradient(-G);tt=0:pi/10:2*pi; %原程序未定义tt ,以此为准sx=5*sin(tt);sy=5*cos(tt);streamline(x,y,ex,ey,sx,sy);xlabel('x');ylabel('y');hold off;当运行此程序后,按提示输入电偶极子电量和嗲耨集子间距如下:请输入电偶极子的电量q =0.5*1e-10请输入电偶极子的间距d =0.01即可汇出入图说使得嗲耨集资周围的长的分布图。
电磁场中matlab仿真实现工具箱
实验六:使用偏微分方程工具箱对电磁场的仿真一、实验目的与要求1.掌握微分方程工具箱的使用方法;2.掌握使用偏微分方程工具箱分析电磁场。
二、实验类型设计三、实验原理及说明偏微分方程的工具箱(PDE toolbox)是求解二维偏微分方程的工具,MA TLAB专门设计了一个应用偏微分方程的工具箱的演示程序以帮助使用者快速地了解偏微分方程的工具箱的基本功能。
操作方法是在MA TLAB的指令窗口键入pdedemos,打开Command Line Demos窗口,如图所示。
只要单击任意键就会使程序继续运行,直至程序运行结束。
单击信息提示按钮(Info)是有关演示窗口的帮助说明信息。
8个偏微分方程的演示程序分别是泊松方程、亥姆霍兹方程、最小表面问题、区域分解方法、热传导方程、波动方程、椭圆型方程自适应解法和泊松方程快速解法。
(一)偏微分方程的工具箱的基本功能偏微分方程的工具箱可以求解一般常见的二维的偏微分方程,其基本功能是指它能解的偏微分方程的类型和边值条件。
用户可以不必学习编程方法仅仅在图形用户界面窗口进行操作,就能得到偏微分方程的数值解。
1.工具箱可解方程的类型定义在二维有界区域Ω上的下列形式的偏微分方程,可以用偏微分方程工具箱求解:椭圆型()f au u c =+∇∙∇- 抛物型()f au u c tu d =+∇∙∇-∂∂ 双曲型()f au u c tu d =+∇∙∇-∂∂22 本征值方程()du au u c λ=+∇∙∇-式中,u 是偏微分方程的解;c 、a 、d 、f 是标量复函数形式的系数,在抛物型和双曲型方程中,它们也可以是t 的函数,λ是待求的本征值。
当c 、a 、f 是u 的函数时,称之为非线性方程,形式为()()()()u f u u a u u c =+∇∙∇-也可以用偏微分方程工具箱求解。
2.工具箱可解方程的边值条件解偏微分方程需要的边值条件一般为下面两种之一:狄里赫利(Diriclet)边值条件 hu=r广义诺曼(Generalized Neumann)边值条件 ()g qu u c n =+∇∙式中,n为边界外法向单位向量;h 、q 、r 、g 是在边界上定义的复函数。
MATLAB实验电磁实验仿真
实验四 电磁实验仿真 —点电荷电场分布的模拟一. 实验目的电磁场是一种看不见摸不着但又客观存在的物质,通过使用Matlab 仿真电磁场的空间分布可以帮助我们建立场的图景,加深对电磁理论的理解和掌握。
按照矢量分析,一个矢量场的空间分布可由其矢量线(也称力线)来形象表示。
点电荷的电场就是一个矢量场,模拟其电力线的分布可以得到电场的空间分布。
通过本次上机实验希望达到以下目的:1. 学会使用MATLAB 绘制电磁场力线图和矢量图的方法;2. 熟悉二维绘图函数contour 、quiver 的使用方法。
二. 实验原理根据库仑定律,真空中的一个点电荷q 激发的电场3r E q r=v v (高斯制) (1) 其中r 是观察点相对电荷的位置矢量。
考虑相距为d 的两个点电荷q 1和q 2,以它们的中点建立坐标(如图),根据叠加原理,q 1和q 2激发的电场为:12123312r r E q q r r =+v v v (2) 由于对称性,所有包含电荷的平面上,电场的分布一样,所以只需要考虑xy 平面上的电场分布,故121233331212(/2)(/2)ˆˆˆˆ()[]x y E E q x q x q y d q y d E j j r r r r i i -+==++++v (3)其中12 r r ==。
根据电动力学知识(参见谢处方,《电磁场与电磁波》,1.4.1节),电场矢量线(或电力线)满足微分方程: yx E dydx E = (4) 代入(3)式解得电力线满足的方程 1212(/2)(/2)q y d q y d r r C -++= (5) 其中C 是积分常数。
每一个C 值对应一根电力线。
电场的分布也可以由电势U 的梯度(gradient ,为矢量)的负值计算,根据电磁学知识,易知两点电荷q 1和q 2的电势1212q q U r r =+(6)那么电场为 E gradU U =-=-∇v (7)或者 ()(),x y x y E U E U =-∇=-∇ (8)在Matlab 中,提供了计算梯度的函数gradient()。
matlab电磁场仿真作业
matlab电磁场仿真作业一、介绍本文将介绍matlab电磁场仿真作业的相关知识和技巧。
电磁场仿真是指利用计算机模拟电磁场的分布和变化规律,以实现对电磁场问题的分析和解决。
matlab是一种强大的数学软件,可以用于各种科学计算、数据分析和图形处理等工作。
在电磁场仿真中,matlab具有良好的适用性和灵活性,可以方便地进行数据处理、可视化和模拟等操作。
二、基本概念1. 电磁场电磁场是指由带电粒子或导体所产生的物理现象,包括静电场、磁场和电磁波等。
在空间中,任何带有电荷或运动电荷的物体都会产生相应的电磁场。
2. 仿真仿真是指利用计算机模拟某个系统或过程的行为方式和结果。
在电磁场仿真中,可以通过建立数学模型来描述物理系统,并利用计算机进行计算和可视化。
3. 离散化离散化是指将连续变量转换为离散变量的过程。
在matlab中进行离散化操作可以将连续的电磁场分布转换为离散的数据点,以便进行计算和可视化。
三、matlab电磁场仿真的步骤1. 建立模型在进行电磁场仿真前,需要建立合适的模型来描述物理系统。
模型应该包括几何形状、物理特性和边界条件等信息。
可以使用matlab中的几何建模工具来创建三维模型,并定义相应的物理参数。
2. 离散化将连续的电磁场分布离散化为数据点。
可以使用matlab中的网格生成工具来生成离散化网格,并对网格进行调整以满足精度和计算效率要求。
3. 求解方程根据物理特性和边界条件,建立相应的方程组并求解。
常用的求解方法包括有限元法、有限差分法和边界元法等。
在matlab中,可以利用数值计算工具箱提供的函数来求解方程组。
4. 可视化将结果可视化以便于分析和展示。
可以使用matlab中强大的图形处理工具来生成二维或三维图像,并添加必要的标注和注释。
四、实例演示以下是一个简单的电磁场仿真实例,演示了如何在matlab中进行电磁场仿真。
1. 建立模型假设有一个长方体导体,其底面和侧面都被接地,导体顶部施加了一个电势差为V的电源。
电磁场仿真matlab
一、实验目的
一个二维静电场,电位函数为 ,边界条件如题4.29图所示,将正方形场域分成20个正方形网格。有16个内部网格点。假定16个网格点的初始值都定为零,试用超松弛法确定16个内网格点的电位值。
100V
Matlab程序如下:
M=6;
N=6; %网格节点数6*6=36个
U1=ones(N,M); %行列二维数组
U2=U1; P=1;T=0; %初始化
k=0
while(P>1e-5) %由v1迭代,算出v2,迭代精度1e-5
k=k+1; %计算迭代次数
P=0;
for i=2:N-1; %行循环
for j=2:M-1; %列循环
U2(i,j)=U1(i,j)+(U1(i,j+1)+U1(i+1,j)+U2(i-1,j)+U2(i,j-1)-4*U1(i,j))*w/4; %差分方程
hold off
三、
1、场域内等电位线、电场线分布图
所求16个内网格点电位值如下表(精度1e-5)
四、
通过这次使用matlab编写程序求解电磁场的实验,对电磁场这门课程的我有了更加直观的图形理解和计算机求解的认识。实验用超松弛法求解有界电场内的16个内网格点的过程让我亲身实践了电磁场理论计算的形象化结果,加深了我对电磁场边值问题的理解,特别是超松弛方法和简单迭代的运用。
x=1:1:M; y=1:1:N
[xx,yy]=meshgrid(x,y); %栅格
[Gx,Gy]=gradient(U2,0.6,0.6); %梯度
quiver(xx,yy,Gx,Gy,-1.0,'r'); %根据梯度画箭头
基于MATLAB的电磁场动画仿真
[X,Y]=meshgrid(x,y);
axis([-5,5,-5,5]);
r1=sqrt((X-3).^2+Y.^2); hold on;
u=k*q1./r1;
plot(3,0,'O','MarkerSize',1
n=(-5:.5:5);
5);
[Ex,Ey]=gradient(-u);
contour(X,Y,u,n,'r.');
gradient 求梯度 contour 画等高(势)线
pause movie2avi的简单举例
clear all;close all;clc;%清除变量,关闭图像,清屏
w=2*pi;
t=0;
%设置时间
x=0:0.01:9;
for i=1:300Fra biblioteky=sin(w*t-x);
plot(x,y);
title('正弦波传播');
Ex=Ex./sqrt(Ex.^2+Ey.^2); quiver(X,Y,Ex,Ey);
Ey=Ey./sqrt(Ex.^2+Ey.^2);
实例演示
实例演示
clear;clc;close all;%清除历史变量和操作 t=0;%设置初始时间 k=2; w=10; y=(0:0.1:30);l=zeros(size(y)); for i=1:300
%延时
t=t+0.00334; mov(i)=getframe(gcf);
%时间增加
hold off;
end;
movie2avi(mov,’垂直极化波.avi')
实例演示
实例演示
Matlab在电磁场仿真中的应用指南
Matlab在电磁场仿真中的应用指南引言:随着科技的不断进步,电磁场仿真逐渐成为理解和设计电磁系统的重要工具。
然而,对于初学者来说,电磁场仿真可能会显得有些困难。
幸运的是,Matlab提供了强大的仿真工具箱,可以简化这一过程并提供准确的结果。
本文将深入探讨Matlab在电磁场仿真中的应用,并提供一些实用的指南。
1. 电磁场建模在进行电磁场仿真前,需要对电磁场进行建模。
建模的目的是确定物理模型和相关参数,以便计算和分析电磁现象。
Matlab提供了各种建模工具,如有限元法、边界元法和有限差分法等。
根据不同的情况,选择适合的建模方法非常重要。
2. 材料属性的处理在电磁场仿真中,物体的材料属性对电磁现象起着重要作用。
Matlab提供了各种处理材料属性的函数和工具箱。
例如,可以使用Matlab的材料库来获取不同材料的电磁参数。
此外,Matlab还提供了处理非均匀材料和各向异性材料的功能。
正确理解和使用这些函数和工具箱可以提高仿真的准确性和效率。
3. 边界条件的设定在电磁场仿真中,边界条件的设定对结果的准确性至关重要。
Matlab提供了多种处理边界条件的方法。
例如,可以使用无限远场边界条件来模拟开放区域,或者使用周期性边界条件来模拟周期性结构。
Matlab还支持自定义边界条件,使用户能够根据实际需求进行设置。
4. 电磁场分析在电磁场仿真中,对电磁场进行分析是重要的一步。
Matlab提供了多种电磁场分析的函数和工具箱。
例如,可以使用电场和磁场分布函数来可视化电磁场的分布情况。
此外,还可以使用功率流密度函数来分析电磁场中的能量传输情况。
通过深入理解这些函数和工具箱,可以获得更详细的电磁场分析结果。
5. 结果验证与优化在进行电磁场仿真后,需要对结果进行验证和优化。
Matlab提供了多种验证结果的方法。
例如,可以与已知的解析解进行比较,或者与实验数据进行对比。
通过检验仿真结果的准确性,可以确保模型的可信度。
此外,Matlab还提供了多个优化函数和工具箱,可以用于对电磁系统进行优化,以达到更好的设计效果。
用Matlab仿真带电粒子在电磁场中的运动
用Matlab仿真带电粒子在电磁场中的运动摘要:如果一个带电粒子在既有电场又有磁场的区域里运动,则其会受到相应的电磁力。
这里,运用MATLAB仿真带电粒子在电场中的运动,进一步讨论带电粒子在E≠0,B≠0;E=0,B≠O和E≠0,B=O并用该软件仿真出以上三种轨迹曲线。
关键字:Matlab;电磁学;仿真;电荷0 引言Matlab是美国MathWorks公司开发的一套高性能的数值计算和可视化软件。
它是一种以矩阵运算为基础的交互式程序语言,其应用范围涵盖了当今几乎所有的工业应用与科学研究领域,集数值分析、矩阵运算、信号处理和图形显示于一体。
其丰富的库函数和各种专用工具箱,将使用者从繁琐的底层编程中解放出来。
此外Matlab更强大的功能还表现在其有大量的工具箱(Toolbox),如:控制系统、数值模拟、信号处理及偏微分方程等工具箱。
因此Matlab已成为大学科学研究中必不可少的工具。
Matlab具有丰富的计算功能和科学计算数据的可视化能力,特别是应用偏微分方程工具箱在大学物理电磁场的数值仿真中具有无比的优势。
下文是在利用Matlab 软件仿真带电粒子在不同电磁场中的运动轨迹。
1 带电粒子在均匀电磁场中的运动理论分析设带电粒子质量为m,带电量为q,电场强度E 沿y方向,磁感应强度B 沿z方向. 则带电粒子在均匀电磁场中的运动微分方程为则上面微分方程可化作:2 用Matlab仿真选择E 和B为参量,就可以分别研究E≠0,B=0和E=0,B≠0和E≠0,B≠0是粒子在电磁场中的运动轨迹。
首先编写微分方程函数文件ddlzfun.m,再编写解微分方程的主程序ddlz.m,运行结果如图所示。
研究时可以采用不同的初始条件和不同的参量观察不同的现象。
例如令E=0,B=2所得结果如图(1)所示;E=1,B=0所得结果如图(2)所示;E=1,B=2所得结果如图(3)所示。
(1)E=0,B=2参数运行结果图(1)所示是带电粒子在E=0,B=2的电磁场中运动时的轨迹,此时带电粒子只要受到洛仑兹力的作用,因此带电只改变方向不改变大小。
华中科技大学电气学院matlab选修课大作业__PI控制器
2008 级《MATAB语言与控制系统仿真》课程大作业姓名赖智鹏学号 u200811806所在院系电气与电子工程学院班级电气0809日期 1月16日同组人员作业评分评阅人设计报告评分表DOC.PI控制器设计与讨论1.引言本文讨论的对象是智能交通/高速公路系统IVHS(习题7.3),系统通过电子技术为驾驶者和控制系统提供实时路面情况,该系统还提供更方便服务,驾驶者可不用自己操纵驾驶,而系统自动控制车辆,且保持车相对速度,以实现交通的有序进展。
本文前半局部讨论了PI 控制器参数的设计问题,根据性能指标推导控制器参数的约束条件,通过相关算法找到问题的解,后半局部讨论系统参数变化时对系统性能的影响,通过比拟得出综合性能较优的控制器参数。
2.给定系统的控制器设计2.1性能分析:〔1〕阶跃响应零稳态误差。
由原系统为零型系统,故必须通过控制器在原点参加至少一个开环极点,可选择的由PI 控制器、PID 控制器等,而单独使用比例控制器已达不到目标。
〔2〕要求系统对爬坡响应的跟踪误差小于25%,故Kv>4,从而有:001416s s Kv sGcG sGc ->->==>∑∑。
〔3〕阶跃响应的超调量小于5%,所以如果校正后系统近似为2阶系统,要求阻尼比ξ>0.7。
〔4〕调节时间Ts=4/n ξω<1.5s 〔2%〕,所以有n ξω>4/1.5=2.67。
就目前分析,单独使用比例控制器不能满足要求,而在考虑选择PID 控制器之前我们选择相对简单的PI 控制器:iP KGc K S =+。
图 1 原系统做出根轨迹图并作出满足性能指标的区域:rlocus(G); hold on;plot([-2.66 -2.66],[-20 20]);%指定性能指标在根轨迹图中所在区域 zeta=0.7;plot([0 -20*zeta],[0 20*sqrt(1-zeta^2)],[0 -20*zeta],[0 -20*sqrt(1-zeta^2)]); %指定性能指标在根轨迹图中所在区域。
电磁场的Matlab仿真
Matlab 与电磁场模拟一单电荷的场分布:单电荷的外部电位计算公式:等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线。
MATLAB 程序:theta=[0:.01:2*pi]'; r=0:10; x=sin(theta)*r; y=cos(theta)*r; plot(x,y,'b')x=linspace(-5,5,100); for theta=[-pi/4 0 pi/4] y=x*tan(theta); hold on ; plot(x,y); end grid on单电荷的等位线和电力线分布图:r q04πεφ=二多个点电荷的电场情况:模拟一对同号点电荷的静电场设有两个同号点电荷,其带电量分别为+Q1和+Q2(Q1、Q2>0 )距离为2a则两电荷在点P(x, y)处产生的电势为:由电场强度可得E = -∇U,在xOy平面上,电场强度的公式为:为了简单起见,对电势U做如下变换:。
Matlab程序:q=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=1./R1+q./R2;u=1:0.5:4;figurecontour(X,Y,U,u)grid onlegend(num2str(u'))hold onplot([-xm;xm],[0;0])plot([0;0],[-ym;ym])plot(-1,0,'o','MarkerSize',12) plot(1,0,'o','MarkerSize',12) [DX,DY] = gradient(U);quiver(X,Y,-DX,-DY);surf(X,Y,U);同号电荷的静电场图像为:同理,将程序稍作修改,便可以得到异号电荷的静电场图像:三、线电荷产生的电位:设电荷均匀分布在从z=-L 到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy 平面上的电位分布。
华科电磁场matlab仿真作业
电磁场作业电气1202 XXX U201200000一.作业一1.程序框图2.程序clear;col = 61; %第一行点数row = col; %行数span = 0.3/(col-1); %步长End = ones(1,col)*col; %每一行的终止点Start = ones(1,col); %每一行的起始点A = zeros(row,col); %A矩正存储每点电势for i = (col-1)/3+1:(col-1)*2/3+1for j = (col-1)/3+1:(col-1)*2/3+1A(i,j) =100;endend %初始化电势完毕temp = A;for n= 1:500 %迭代次数for i = 2:row-1if ( i<((col-1)/3+1)||i>( (col-1)*2/3+1 ) )for j = Start(i)+1:End(i)-1temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endelsefor j = 2:(col-1)/3temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endfor j = 2*(col-1)/3+2:col-1temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endendA = temp;endendX = row:-1:1;Y = col:-1:1;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,2));figure(2);contour(rot90(A,2));hold on;[Gx,Gy] = gradient(A,1,1);quiver(Gx,Gy);3.计算机绘图二.作业二1.程序框图2.程序100V0Vclear;col=101;row=101;A=zeros(row,col);for i=11:101A(i,11)=100;endfor j=11:101A(11,j)=100;endfor i=2:10A(i,col)=10*i-10;endfor j=2:10A(row,j)=10*j-10;endA1=A;x=1;t=0;while x>0.1x=0;for i=2:100for j=2:100if (i>1&&i<11)||(j>1&&j<11)A1(i,j)=(A(i,j-1)+A(i,j+1)+A(i-1,j)+A(i+1,j))/4;t=abs(A(i,j)-A1(i,j));if (t>x)x=t;endendendendA=A1;endX = 1:1:row;Y = 1:1:col;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,4));figure(2);contour(rot90(A,4));hold on;[Gx,Gy] = gradient(A,1,1);quiver(Gx,Gy);3.计算机绘图三.作业三1.程序框图2.程序clear;N = 41; %第一行点数h = 0.2/(N-1); %步长row = (N+1)/2; %行数E = N:-1:N-row+1;%每一行的终止点S = 1:1:N-row+1;%每一行的起始点A = zeros(row,N); %A矩阵存储每点电势A(1,:)=ones(1,E(1))*100; %初始化电势for i = 1:rowA(i,S(i)) = 0;A(i,E(i)) = 0;end %初始化电势完毕temp = A;for n= 1:600 %迭代次数for i = 2:rowfor j = S(i):E(i)if j ==S(i) || j==E(i)temp(i,j)=0;elsetemp(i,j)=(3*A(i-1,j) +3*A(i+1,j) +A(i,j-1) +A(i,j+1))/8;endendendA = temp;endX = row:-1:1;Y = N:-1:1;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,2));figure(2);contour(rot90(A,2));3.计算机绘图。
电磁场的matlab仿真实验--m语言1
实验三:等量异号点电荷的电势分布一、实验目的与要求1.掌握命令窗口中直接输入语句,进行编程绘制等量异号点电荷的电势分布图;2.掌握二维网格和三维曲面绘图的语句。
二、实验类型设计三、实验原理及说明这里在命令窗口中直接输入简单的语句进行编程设计。
MATLAB有几千个通用和专用五、实验内容和步骤(一)建立等量异号点电荷的电势方程物理情景是oxy平面上在x=2,y=0处有一正电荷,x= -2,y=0处有一负电荷,根据计算两点电荷电场中电势的分布,由于(二)利用MA TLAB的函数, 绘制等量异号点电荷的电势分布图首先选定一系列的x和y后,组成了平面上的网络点,再计算对应每一点上的z值。
例如-5:0.2:5,-4:0.2:4分别是选取横坐标与纵坐标的一系列数值,meshgrid是生成数据网格的命令,[x,y]是xy平面上的坐标网格点。
z是场点(x ,y)的电势,要求写出z的表达式。
这里用到MA TLAB的函数mesh()描绘3D网格图,meshgrid()描绘在3D图形上加坐标网格,sqrt()求变量的平方根。
mesh()是三维网格作图命令,mesh(x,y,z)画出了每一个格点(x,y)上对应的z值(电势)。
在命令窗口中直接输入简单的语句,如下。
解1解2当场点即在电荷处时,会出现分母为零的情况,因此在r里加了一个小量0.01,这样既可以完成计算,又不会对结果的正确性造成太大影响。
另外需要注意的是表达式中的“./ ”、“.^ ”是对数组运算的算符,含义与数值运算中的“./ ”、“.^ ”相同,不同之处是后者只对单个数值变量进行运算,而前者对整个数组变量中的所有元素同时进行运算。
解2为了减少计算量,增加精确度,与先前的示例相比,计算范围由原先的-5<x<5 ,-4<y<4改为-2<x<2 ,-2<y<2 ;步长由0.5改为0.1,电荷位置也改在(-1,0)和(1,0)处。
电磁场_Matlab实验设计1
电磁场_Matlab 实验设计1一、 实验目的1)熟悉matlab 在时变电磁场仿真中的运用;2)掌握matlab 动画功能来分析时变场的极化特性二、 实验原理1)原理:matlab 动画功能2)所选题目:参见汉版教材(P-323)7-21第.1.、.2.问.相关知识点:极化的概念概念:在垂直于传播方向的平面内,场的矢端在一个周期内所画出的轨迹。
在这里,我们仅以电场为例。
分类:根据场的矢端轨迹,分为线极化、圆极化、椭圆极化三类。
假设:,极化类型取决于、 及 、题目真空中一平面波得电磁场强度矢量为22()j z x y E a j a e π-=+1)此波属于何种极化?若是旋极化,属于指出旋向;2)写出对应磁场强度矢量;3)写出与此波旋向相反且传播方向相反的波的电场强度和磁场强度矢量。
解答:1)圆极化波,属于右旋2)22()120j z y x H a j a e ππ-=-瞬时表达式分别为:81.510/rad s ωπ=⨯2cos()2sin()22x y E a t z a t z ππωω=-+- 22cos()sin()12021202y x H a t z a t z ππωωππ=---三、 实验平台 Matlab四、 实验步骤程序代码:左旋圆极化clear;figure; %创建图形窗口grid on; %加网格box on; %加框架t=linspace(-4*pi,4*pi,101);z=linspace(-4*pi,4*pi,101);l=zeros(size(z));k=120*pi;for n=0:100;x1=sqrt(2)*sin(0.5*t-n/10*pi); %x=sqrt(2)*c os(0.5*t-n/10*pi)右旋y1=sqrt(2)*cos(0.5*t-n/10*pi); %y=sqrt(2)*s in(0.5*t-n/10*pi)右旋x2=sqrt(2)*cos(0.5*t-n/10*pi)/k*100;y2=-sqrt(2)*sin(0.5*t-n/10*pi)/k*100;quiver3(l,l,z,x1,y1,l,'b');hold onquiver3(l,l,z,x2,y2,l,'r');title('左旋圆极化波的传播');xlabel('x','fontsize',16) % 用16号字体标出X 轴ylabel('y','fontsize',16) % 用16号字体标出Y 轴zlabel('z','fontsize',16)view(20,30+2*n);hold offpause(0.1);end实验结果如图:图1图2图3将程序改成线极化波观察其空间分布,修改如下:x1=sin(0.5*t-n/10*pi); %x=cos(0.5*t-n/10*pi) 右旋y2=-sin(0.5*t-n/10*pi)/k*100;quiver3(l,l,z,x1,l,l,'b');hold onquiver3(l,l,z,l,y2,l,'r');title('线极化波的传播');实验图如下图1图2再将程序改成椭圆极化观察其空间分布,程序修改如下:x1=0.5*sin(0.5*t-n/10*pi);y1=cos(0.5*t-n/10*pi+pi/4);x2=0.5*sin(0.5*t-n/10*pi)/k*100; y2=-cos(0.5*t-n/10*pi+pi/4)/k*100;quiver3(l,l,z,x1,y1,l,'b');hold onquiver3(l,l,z,x2,y2,l,'r');实验结果如下:图1图2图3五、实验结果及分析1、圆极化波,从图1可以看出其按正弦波传播,从图2可以观察出其矢端在空间中的传播的轨迹为圆,图3中可以看出电场和磁场相差pi/的相位。
人工智能典型例题MATLAB仿真实验报告
研究生(人工智能)报告题目:人工智能实验报告学号姓名专业电磁场与微波技术指导教师院(系、所)华中科技大学研究生院制1问题二利用一阶谓词逻辑求解猴子摘香蕉问题:房内有一个猴子,一个箱子,天花板上挂了一串香蕉,其位置如图所示,猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱子上。
请定义必要的谓词,列出问题的初始化状态(即下图所示状态),目标状态(猴子拿到了香蕉,站在箱子上,箱子位于位置b)。
图1 猴子香蕉问题解:⏹定义描述环境状态的谓词。
AT(x,w):x在t处,个体域:xϵ{monkey},wϵ{a,b,c,box};HOLD(x,t):x手中拿着t,个体域:tϵ{box,banana};EMPTY(x):x手中是空的;ON(t,y):t在y处,个体域:yϵ{b,c,ceiling};CLEAR(y):y上是空的;BOX(u):u是箱子,个体域:uϵ{box};BANANA(v):v是香蕉,个体域:vϵ{banana};⏹使用谓词、连结词、量词来表示环境状态。
问题的初始状态可表示为:S o:AT(monkey,a)˄EMPTY(monkey)˄ON(box,c)˄ON(banana,ceiling)˄CLEAR(b)˄BOX(box)˄BANANA(banana)要达到的目标状态为:S g:AT(monkey,box)˄HOLD(monkey,banana)˄ON(box,b)˄CLEAR(ceiling)˄CLEAR(c)˄BOX(box)˄BANANA(banana)⏹ 从初始状态到目标状态的转化, 猴子需要完成一系列操作, 定义操作类谓词表示其动作。
WALK(m,n):猴子从m 走到n 处,个体域:m,n ϵ{a,b,c};CARRY(s,r):猴子在r 处拿到s ,个体域:r ϵ{c,ceiling},s ϵ{box,banana}; CLIMB(u,b):猴子在b 处爬上u ;这3个操作也可分别用条件和动作来表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华科电磁场m a t l a b仿真作
业
-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
电磁场作业
电气1202 XXX U201200000一.作业一
1.程序框图
2.程序
clear;
col = 61; %第一行点数
row = col; %行数
span = 0.3/(col-1); %步长
End = ones(1,col)*col; %每一行的终止点
Start = ones(1,col); %每一行的起始点
A = zeros(row,col); %A矩正存储每点电势
for i = (col-1)/3+1:(col-1)*2/3+1
for j = (col-1)/3+1:(col-1)*2/3+1
A(i,j) =100;
end
end %初始化电势完毕
temp = A;
for n= 1:500 %迭代次数
for i = 2:row-1
if ( i<((col-1)/3+1)||i>( (col-1)*2/3+1 ) )
for j = Start(i)+1:End(i)-1
temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;
end
else
for j = 2:(col-1)/3
temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;
end
for j = 2*(col-1)/3+2:col-1
temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;
end
end
A = temp;
end
end
X = row:-1:1;
Y = col:-1:1;
[X,Y] = meshgrid(X,Y);
figure(1);
surf(rot90(A,2));
figure(2);
contour(rot90(A,2));
hold on;
[Gx,Gy] = gradient(A,1,1);
quiver(Gx,Gy);
3.计算机绘图
二.作业二
1.程序框图
2.程序100V
0V
clear;
col=101;
row=101;
A=zeros(row,col);
for i=11:101
A(i,11)=100;
end
for j=11:101
A(11,j)=100;
end
for i=2:10
A(i,col)=10*i-10;
end
for j=2:10
A(row,j)=10*j-10;
end
A1=A;
x=1;t=0;
while x>0.1
x=0;
for i=2:100
for j=2:100
if (i>1&&i<11)||(j>1&&j<11)
A1(i,j)=(A(i,j-1)+A(i,j+1)+A(i-1,j)+A(i+1,j))/4; t=abs(A(i,j)-A1(i,j));
if (t>x)
x=t;
end
end
end
end
A=A1;
end
X = 1:1:row;
Y = 1:1:col;
[X,Y] = meshgrid(X,Y);
figure(1);
surf(rot90(A,4));
figure(2);
contour(rot90(A,4));
hold on;
[Gx,Gy] = gradient(A,1,1);
quiver(Gx,Gy);
3.计算机绘图
三.作业三
1.程序框图
2.程序
clear;
N = 41; %第一行点数
h = 0.2/(N-1); %步长
row = (N+1)/2; %行数
E = N:-1:N-row+1;%每一行的终止点
S = 1:1:N-row+1;%每一行的起始点
A = zeros(row,N); %A矩阵存储每点电势
A(1,:)=ones(1,E(1))*100; %初始化电势
for i = 1:row
A(i,S(i)) = 0;
A(i,E(i)) = 0;
end %初始化电势完毕
temp = A;
for n= 1:600 %迭代次数
for i = 2:row
for j = S(i):E(i)
if j ==S(i) || j==E(i)
temp(i,j)=0;
else
temp(i,j)=(3*A(i-1,j) +3*A(i+1,j) +A(i,j-1) +A(i,j+1))/8;
end
end
end
A = temp;
end
X = row:-1:1;
Y = N:-1:1;
[X,Y] = meshgrid(X,Y);
figure(1);
surf(rot90(A,2));
figure(2);
contour(rot90(A,2));
3.计算机绘图。