利用Matlab绘制两个点电荷电场线【物理软件课程设计】 您所在的位置:网站首页 r软件课程设计 利用Matlab绘制两个点电荷电场线【物理软件课程设计】

利用Matlab绘制两个点电荷电场线【物理软件课程设计】

2023-09-18 17:16| 来源: 网络整理| 查看: 265

物理软件课程设计

2021年6月的课程设计题目之一:设计程序,画出两个点电荷之间电场线分布图

入门级别,代码思想可能有点像C语言,本人应用物理学专业。

资源链接:(4条消息) 利用MATLAB绘制点两个电荷电场线-C文档类资源-CSDN文库 https://download.csdn.net/download/qq_45327517/85376120

(第一次上传,不知道对不对)  代码文章后半段也会附上。

历史久远,以下是我的课程设计报告:(2021.06)

电场线作图

一、 目的:

设计程序,画出两个点电荷之间电场线分布图

二、硬件环境:

CPU:Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz 内存:8+8G 硬盘:256G                               

三、软件环境:

操作系统: Windows 10 家庭中文版    软件:Matlab2016b

四、程序流程图:

 

原理图(截取自老师所给原理PPT)

相关物理原理就不放了。

五、程序调速情况:

原理如图

E=k*q/r^2,k取1,△l分度值暂定0.2

下一点坐标迭代为x=x+h*(Ex/ER);y=y+h*(Ey/ER)

那么问题的核心就是确定初始点,以及如何实现电场力的叠加。

关于初始点的确立,采用点电荷为圆心,选取半径,通过分角度,极坐标表示初始点的横纵坐标(x0,y0)来确立初始点。

两个点电荷在不同位置的电场力分量方向可能是不同的,单纯的代码无法体验大小正负的区别,所以采用向量坐标的办法实现向量相加,求得场点的总的电场力向量,进而求得下一点坐标。

点电荷与场点的电场力方向肯定与点电荷和场点的连线共线,因此可以通过

场点坐标与点电荷坐标求得电场力向量的角度,又可通过电场力大小公式求得其大小,通过极坐标与直角坐标的转换,得到两个点电荷分别对场点的电场力的向量坐标,将其坐标存入数组。E1与E2的向量坐标求和,就是场点总电场力的向量坐标。这样就解决了判断分量是相加还是相减的问题!

(当时我记得参考其他的做法函数较为高级,可能三五行代码搞定!但是本着原创的思想,就对问题进行了分析,采用了可能比较一般的方法解决问题,不那么像Matlab,毕竟我们专业课程学过只c语言(应用物理学),不过我倒是逻辑玩的明白。--2022.05.15)

再根据后续坐标迭代公式,利用MATLAB中ploy函数,以及调整for循环,while循环语句的位置,实现了完整的电场线的绘制。

六、程序运行结果

 (具体可调节的地方见于具体代码。--2022.05.15)

八、附录(源程序代码):

clc clear Q1=1;Q2=1;h=0.2;r=0.3;%同种电荷,左A右B各一个正电荷q=2,坐标(-5,0)(5,0),△l=h=1,点电荷初始点的圆半径为1 %E1是左边到场点的电场向量,E2是右边到场点的电场向量 E=[0,0]总电场的真正向量 for t=pi/8:pi/4:2*pi %初始点的确立,8个初始点,用角度来区分 x0=r*cos(t)-5; %初始点的横坐标(x,y),下一个点是(x+△,y+△) y0=r*sin(t); %初始点的纵坐标. plot(x0,y0,'g.'); %绘制初始点的位置,星星符号 x0 y0 hold on %图形保持 plot(-5,0,'m+'); x=x0;y=y0;s1=[];s2=[]; %给x,y赋值(初始点坐标) while (x-22)&&(y>-15&&y-15&&y


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有