matlab课程设计

时间:2024.4.7

                  课程设计任务书

学生姓名:              专业班级:   通信1201     

指导教师:           工作单位:  信息工程学院   

: 两点电荷间电场线、等势面及场强的MATLAB模拟

要求完成的主要任务:

   在数字信号处理平台上(PC机﹑MATLAB仿真软件系统)进行两点电荷间电场线、等势面及场强的MATLAB模拟。

课程设计的目的:

1.理论目的:

课程设计的目的之一是为了巩固课堂理论学习,验证两点电荷间的电场分布。

2.实践目的:

课程设计的目的之二是通过两点电荷间电场的MATLAB模拟,更好的理解两点电荷的电场线、等势面及场强分布。

 时间安排:

指导教师签名:                                                 系主任(或责任教师)签字:                        


目  录

摘 要... I

Abstract II

1引言... 1

1.1MATLAB介绍... 1

1.2MATLAB基本命令... 2

1.3与两点电荷电场线、等势面及场强的MATLAB语言... 3

2.两电荷电场线、等势面及场强的设计方法... 3

2.1设计思路... 3

2.2仿真实验原理... 3

2.3实验设计... 4

3. 两电荷电场线、等势面及场强的模拟... 5

3.1一对点电荷的电场线及等势线... 5

3.2等量同号点电荷对的电场强度分量的曲面... 8

4心得体会... 11

参考文献... 12

附件:MATLAB程序... 13



摘 要

电场线是为了直观形象地描述电场分布,在电场中引入的一些假想的曲线。曲线上每一点的切线方向和该点电场强度的方向一致;曲线密集的地方场强强,稀疏的地方场强弱。两点电荷的电场线是看不见、摸不着的,借助MATLAB能模拟出两点电荷的电场分布。

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。

  关键词:电荷    电场线     MATLAB

Abstract

  Electric field line is described in order to visually electric field distribution, some imaginary curve is introduced in the field of. Consistent tangent direction of each point and the point of strength of electric field direction curve; local intensity curve of dense, sparse and weak local field. Electric field line two charge is invisible, untouchable, using MATLAB can simulate the electric field distribution in two charge.

MATLAB is the main face of scientific computing, visualization and interactive program design of high-tech released by the American company MathWorks computing environment. The numerical analysis, matrix computation and visualization, as well as the modeling and Simulation of nonlinear dynamic systems and many other powerful function integrated in an easy-to-use Windows environment, scientific research, engineering design and must provide a comprehensive solution for many scientific and effective numerical computational domain, and get rid of the traditional non interactive programming language to a large extent (such as C, Fortran) in edit mode, represents the advanced level of the international scientific calculation software.

MATLAB and Mathematica, Maple, MathCAD and known as the four major mathematical software. Calculation of come first on the list type of technology in applications of mathematics in the numerical.

Keywords: electric   line   MATLAB


1引言

1.1MATLAB介绍

   MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

   MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

    MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。

    MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。

1.2MATLAB基本命令

如下表,为MATLAB的基本命令。

1.3与两点电荷电场线、等势面及场强的MATLAB语言

Matlab中,为了描绘二元函数形成的空间曲面,首先要建立平面的数据网格,生成数据网格的命令是meshgrid,格式为[X,Y]=meshgrid(x,y),使用meshgrid命令,将两个独立的矢量x、y组成数据网格。使用[X,Y]=meshgrid(x,y)可以建立数据网格。使用[Ex,Ey]=gradient(-V)求解网格的电场强度的表达式。

2.两电荷电场线、等势面及场强的设计方法

2.1设计思路

静电场是指相对于观察者静止的电荷产生的电场。静电场的基本定律是库伦定律。本文从库伦定律和叠加原理出发,运用矢量分析的方法,讨论真空中任意两个点电荷间的电场线以及等势线的分布。

电场强度、电势是描述静电场属性的重要物理量,利用等势面和电场线可以很好的描述静电场。但是电势分布是复杂抽象的,本文利用Matlab强大的数学运算以及绘图功能,利用计算机编程绘制不同电荷量比以及不同距离的双静电荷系统的等势面以及电场线分布,将抽象的电场具象化,以便更好的研究静电场。

2.2仿真实验原理

根据库伦定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离R的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,那么它们之间的作用力力 F 满足:

                                                       ⑴

由电场强度的定义可知:

                            
                            ⑵


  而

                                                          ⑶

设两个同号点电荷的电量分别为,两点电荷之间的距离为2a,场点P(x,y)的场强的x的分量为:

                      
                                     ⑷

场点P(x,y)的场强的y的分量为:

                                                          ⑸

是x的奇函数,是y的偶函数;是x的偶函数,是y的奇函数。

需要曲面和曲线显示其分布规律。

在 Matlab 中,由以上公式算出各点的电势 U,电场强度 E 后,可以用 Matlab各自带的库函数绘出相应电荷的电场分布情况。

2.3实验设计

等势线就是以电荷为中心的圆簇,用Matlab画等势线更加简单。静电力常量为k=9*e9, 电量可取。其电势为:

                                                         ⑹

最大的等势线的半径应该比射线的半径小一点,。如果从外到里取9条等势线,最里面的等势线的电势是最外面的4倍,那么各条线的电势用向量表示为:。从取偶数个点,例如100个点,使最中心点的坐标绕过0,各电势可表示为:x=linspace(), ,在直角坐标系中形成网络坐标:[X,Y]=mesharid(x)。各点到原点的距离为:r=sqrt(X.^2+Y.^2), 在乘方时, 乘方号前面要加点, 表示对变量中的元素进行乘方计算。用等高线命令即可画出等势线contour(X,Y,U,u)。 在画等势线后一般会把电力线擦除, 在画等势线之前插入如下命令hold on 就行了。

3. 两电荷电场线、等势面及场强的模拟

3.1一对点电荷的电场线及等势线

对于一对点电荷的比值为q,空间中任意一点到的距离为,到的距离为,电势为U,据此,绘制出空间中一对点电荷的电场线及等势线的分布。

程序代码如下:

clear                    %清除变量

q=1;             %绘制不同电量比点电荷对的电场线和等势线只需改变 q 值

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 on                   %加网格

legend(num2str(u'))

hold on                   %保持图像%图例

plot([-xm;xm],[0;0])         %画水平线

plot([0;0],[-ym;ym])         %画竖直线

plot(-1,0,'o','MarkerSize',12)  %画第一个正电荷

plot(1,0,'o','MarkerSize',12)   %画第二个正电荷

[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1));%用电势梯度求场强的两个分量

dth1=20;                  %左边电场线角度间隔

th1=(dth1:dth1:180-dth1)*pi/180;%电场线的起始角度

r0=0.1;                    %电场线起点半径

x1=r0*cos(th1)-1;            %电场线的起点横坐标

y1=r0*sin(th1);              %电场线的起点纵坐标

streamline(X,Y,Ex,Ey,x1,y1)     %画左上电场线

streamline(X,-Y,Ex,-Ey,x1,-y1)   %画左下电场线

dth2=dth1/q;                %右边电场线角度间隔

th2=(180-dth2:-dth2:dth2)*pi/180;%电场线的起始角度

x2=r0*cos(th2)+1;             %电场线的起点横坐标

y2=r0*sin(th2);               %电场线的起点纵坐标

streamline(X,Y,Ex,Ey,x2,y2)      %画右上电场线

streamline(X,-Y,Ex,-Ey,x2,-y2)    %画右下电场线

axis equal tight               %使坐标刻度相等

title('等量同号点电荷的电场线和等势线','fontsize',20)%显示标题

xlabel('r','fontsize',16)          %显示横坐标

ylabel('E(U)','fontsize',16)       %显示纵坐标

txt=['电荷比:\itQ\rm_2/\itQ\rm_1=' num2str(q)];%电荷比文本

text(-xm,-ym-0.3,txt,'fontsize',16)  %显示电荷比

              图-1 等量同种电荷的电场线和等势线的分布

当q=-1时即一对等量异种电荷的电场线及等势线

图-2  等量异种电荷的电场线及等势线的分布

当q=2时即

       图-3    的两个点电荷的电场线及等势线的分布

3.2等量同号点电荷对的电场强度分量的曲面

一对点电荷的比值为q,空间中任意一点到的距离为r13,到的距离为r23,电场强度为E。

程序代码如下:

clear                       %清除变量

r13='((x+1).^2+y.^2).^(3/2)';    %场点到左边端点的距离的三次方字符串

r23='((x-1).^2+y.^2).^(3/2)';    %场点到右边端点的距离的三次方字符串

Ex=inline(['(x+1)./' r13 '+(x-1)./' r23]);%场强的x分量内线函数

Ey=inline(['y./' r13 '+y./' r23]);  %场强的y分量内线函数

fs=16;                     %字体大小

xm=3;                     %横坐标范围

ym=2.5;                    %纵坐标范围

x=linspace(-xm,xm,50);        %横坐标向量

y=linspace(-ym,ym,40);        %纵坐标向量(绕过奇点)

[X,Y]=meshgrid(x,y);           %设置坐标网点

subplot(121);                %创建图形窗口1

surf(x,y,Ex(X,Y))              %画曲面

box on                     %加框

title('等量同号点电荷场强\itx\rm分量曲面','fontsize',fs)%显示标题

xlabel('\itx/a','fontsize',fs)     %显示横坐标

ylabel('\ity/a','fontsize',fs)     %显示纵坐标

zlabel('\itE_x/kQa\rm^-^2','fontsize',fs)%显示高坐标

axis tight                   %紧贴轴

subplot(122);               %创建图形窗口2

surf(x,y,Ey(X,Y))              %画曲面

box on                    %加框

title('\ity\rm分量曲面','fontsize',fs)%显示标题

xlabel('\itx/a','fontsize',fs)     %显示横坐标

ylabel('\ity/a','fontsize',fs)     %显示纵坐标

zlabel('\itE_y/kQa\rm^-^2','fontsize',fs)%显示高坐标

axis tight                   %紧贴轴

 

              图-3   等量同号点电荷的电场强度分量的曲面

             

4心得体会

这是在大学做的第一份课程设计,做得有点吃力与艰难,这门本该在大二大三才学习的课程却早早的在大一与我邂逅了,第一次接触MATLAB,感到十分惊奇也很迷茫,自己甚至都不知道它是用来干什么的,但是要做出一份课程设计的压力又逼迫着自己去慢慢去了解它。

这次做用MATLAB做绘图的实验,遇到了许多问题,跑了很多次图书馆,不断地在书中去查找着解决办法。MATLAB中提供了许多绘图函数,这里面我就从最基础的几个开始了解。从网上查了很多资料,了解了它们的具体用法,然后再自己举例应用,验证它们的具体功能。通过了这次课程设计,我对 matlab 有了更深入的了解,对它的操作也更加熟练,尤其是对那些基本绘图函数可谓印象深刻,对它们的功能有了系统的了解,这些都将在以后的应用中帮我更好的完成一些设计。虽然在本次设计中,遇到了许许多多的挫折,但也增长了自己的见识,开阔了自己的视野,感觉是那么的充实,最终也完成了这次课程设计。纸上得来终觉浅,绝知此事要躬行。

                  

参考文献

【1】MATLAB 7.0从入门到精通, 求是科技编著人民邮电出版社 出版日期: 2006

【2】MATLAB基础与编程入门, 张威编西安电子科技大学出版社 出版日期: 2008

【3】MATLAB 7简明教程, 李南南, 吴清, 曹辉林编著清华大学出版社 出版日期: 2006

【4】Digital signal processing with examples in MATLAB /, Samuel D. Stearns, and Donald R. Hush出版社: CRC Press, 出版日期: c2011

附件:MATLAB程序

clear                   

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 on                  

legend(num2str(u'))

hold on                 

plot([-xm;xm],[0;0])       

plot([0;0],[-ym;ym])        

plot(-1,0,'o','MarkerSize',12) 

plot(1,0,'o','MarkerSize',12) 

[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1));

dth1=20;                 

th1=(dth1:dth1:180-dth1)*pi/180;

r0=0.1;                   

x1=r0*cos(th1)-1;          

y1=r0*sin(th1);             

streamline(X,Y,Ex,Ey,x1,y1)    

streamline(X,-Y,Ex,-Ey,x1,-y1)  

dth2=dth1/q;              

th2=(180-dth2:-dth2:dth2)*pi/180;

x2=r0*cos(th2)+1;           

y2=r0*sin(th2);              

streamline(X,Y,Ex,Ey,x2,y2)    

streamline(X,-Y,Ex,-Ey,x2,-y2)   

axis equal tight             

title('等量同号点电荷的电场线和等势线','fontsize',20)

xlabel('r','fontsize',16)         

ylabel('E(U)','fontsize',16)      

txt=['电荷比:\itQ\rm_2/\itQ\rm_1=' num2str(q)];

text(-xm,-ym-0.3,txt,'fontsize',16)

clear                      

r13='((x+1).^2+y.^2).^(3/2)';   

r23='((x-1).^2+y.^2).^(3/2)';  

Ex=inline(['(x+1)./' r13 '+(x-1)./' r23]);

Ey=inline(['y./' r13 '+y./' r23]); 

fs=16;                   

xm=3;                   

ym=2.5;                   

x=linspace(-xm,xm,50);       

y=linspace(-ym,ym,40);      

[X,Y]=meshgrid(x,y);          

subplot(121);              

surf(x,y,Ex(X,Y))            

box on                  

title('等量同号点电荷场强\itx\rm分量曲面','fontsize',fs)

xlabel('\itx/a','fontsize',fs)   

ylabel('\ity/a','fontsize',fs)    

zlabel('\itE_x/kQa\rm^-^2','fontsize',fs)%显示高坐标

axis tight                  

subplot(122);             

surf(x,y,Ey(X,Y))             

box on                    

title('\ity\rm分量曲面','fontsize',fs)

xlabel('\itx/a','fontsize',fs)   

ylabel('\ity/a','fontsize',fs)    

zlabel('\itE_y/kQa\rm^-^2','fontsize',fs)

axis tight                  

本科生课程设计成绩评定表

                   指导教师签字:__________________                

                                                           

更多相关推荐:
Matlab程序设计课程总结

Matlab程序设计课程总结学院班级学号姓名成绩1Matlab的课程总结随着对matlab的学习的深入我对其了解也更加深入MATLAB是美国MathWorks公司出品的商业数学软件用于算法开发数据可视化数据分析...

matlab课程设计报告

MATLAB课程设计报告设计课题学生姓名学生学号专业班级指导教师一课程设计的目的及其意义了解matlab的窗口工具栏的使用以及作用让matlab成为我们的日常好帮手并为将来使用matlab进行信号处理领域的各种...

matlab课程设计报告

MATLAB与仿真系统课程设计班级自动化20xx2班姓名张涛学号1105130206指导教师崔新忠地点电信实验中心第9实验室大连海洋大学课程设计报告纸学院专业班级姓名学号目录一课程设计的目的与要求1二课程设计课...

matlab课程设计报告

电子信息系统仿真设计课程设计报告课题电子信息系统仿真设计姓名学号成绩班级指导教师开课时间20xx20xx学年第1学期目录一设计题目二主要内容三具体要求四进度安排五成绩评定六正文1三维绘图2信号的时域和频域表示3...

matlab课程设计报告书

课程设计题目学院专业班级姓名指导教师Matlab应用课程设计信息工程学院电子信息工程桂林20xx年12月13日Matlab应用课程设计任务书学生姓名专业班级指导教师桂林工作单位信息工程学院题目Matlab运算与...

matlab课程设计

Matlab课程设计图像与动画班级姓名学号时间地点指导教师自动化教研室Matlab课程设计目录一课程设计目的与要求二课程设计课题的分析三课程设计的内容与安排四课程设计的步骤五课程设计的结果六参考文献七附录Mat...

Matlab课程设计报告

至诚学院MATLAB实践课程设计学生姓名学号专业班级2指导教师页MATLAB课程设计第1页共1二一四年四月三十日目录1设计目的第3页2题目分析第3页3总体设计第3页4具体设计第4页5小结和心得第15页页MATL...

matlab课程设计

滨州学院课程设计学年论文题目IIR和FIR滤波器设计系院信息工程系专业通信工程班级20xx级1班姓名肖杰学号1214110103指导教师马震职称副教授20xx年1月11日滨州学院课程设计学年论文任务书指导教师用...

matlab课程设计

题目Matlab解常微分方程的初值问题一设计目的1熟练掌握Matlab的基本编程方法及其编程风格2熟练掌握Matlab常用函数的使用3能够利用Matlab软件绘制图形并解决相关的数学问题4与常微分方程的相关知识...

matlab课程设计

武汉理工大学MATLAB原理与应用课程设计课程设计任务书学生姓名李威专业班级通信1201班指导教师刘新华工作单位信息工程学院题目利用matlab仿真软件进行图像的输入输出和格式变换要求完成的主要任务认真学习ma...

matlab课程设计

北京理工大学珠海学院计算机仿真课程设计说明书题目控制系统建模分析设计和仿真学院信息学院专业班级自动化4班学号110506011008学生姓名白力洋指导教师齐连众20xx年6月25日1目录一封面1二目录2三课程设...

matlab课程设计

石河子大学数学软件课程设计课题名称正态分布描述随机变量及其应用学生姓名李雄20xx010254徐也20xx010281专业信息与计算科学20xx级指导老师杨玲香新疆石河子石河子大学二一一年六月Matlab课程设...

matlab课程设计心得(22篇)