maltab绘制等量同/异号电荷电势图和电场线

先上图:
在这里插入图片描述
等量正电荷

在这里插入图片描述
等量异号电荷

maltab代码如下:

clear;
q = 1.602e-19; %元电荷带电量
Mode = input('等量正电荷请输入1,等量异号电荷请输入2,等量负电荷请输入3:');
if(Mode == 1)
    q1 = q;
    q2 = q;
elseif(Mode ==2)
    q1 = q;
    q2 = -q;
elseif(Mode == 3)
    q1 = -q;
    q2 = -q;
end   

radius = 1;   %点电荷半径

x = 20; y = 20; %x和y轴显示边界值

k = 9e+9; %k = 1/4πε
delta = 1;%引入距离误差以消除点电荷处点位无限大的问题
phi = linspace(-pi,pi,20);  %电场线发射范围

for a =1:18
    %--------------左半部分--------------%
    %计算电势
    [X,Y]=meshgrid(-x:0.5:0,-y:0.5:y);%获取左半部分矩阵
    r1=sqrt((X+a).^2 + Y.^2 + delta);
    r2=sqrt((X-a).^2 + Y.^2 + delta);
    V1=q1*(k./r1) + q2*(k./r2);
    %画等势线
    min1 = min(V1,[],"all");
    max1 = max(V1,[],"all");
    range = linspace(min1,max1,100);
    contour(X,Y,V1,range);
    hold on; 
    %计算电场强度并绘制
    if(Mode == 1)
        [Ex,Ey]=gradient(-V1);
        startx = -a + radius* cos(phi);
        starty =  radius*sin(phi);
    elseif(Mode == 2)
       [Ex,Ey]=gradient(-V1);
        startx = -a + radius* cos(phi);
        starty =  radius*sin(phi);
    elseif(Mode == 3)
        [Ex,Ey]=gradient(V1);
        startx = -a + radius*cos(phi);
        starty =  radius*sin(phi);
    end
    
    %quiver(X1,Y1,Ex1,Ey1); %绘制箭头矢量图
    
    streamline(X,Y,Ex,Ey,startx,starty); %绘制电场强度线
    
    %--------------右半部分--------------%
    %计算电势
    [X,Y]=meshgrid(0:0.5:x,-y:0.5:y);%获取左半部分矩阵
    r1=sqrt((X+a).^2 + Y.^2+delta);
    r2=sqrt((X-a).^2 + Y.^2+delta);
    V2=q1*(k./r1)+q2*(k./r2);
    %画等势线
    min2 = min(V2,[],"all");
    max2 = max(V2,[],"all");
    range2=linspace(min2, max2,100);
    contour(X,Y,V2,range2);
    hold on; 
    %计算电场强度
    if(Mode == 1)
        [Ex,Ey]=gradient(-V2);
        startx = a - radius*cos(phi);
        starty =  -radius*sin(phi);
    elseif(Mode == 2)
        [Ex,Ey]=gradient(V2);
        startx = a - radius*cos(phi);
        starty =  -radius*sin(phi);
    elseif(Mode == 3)
        [Ex,Ey]=gradient(V2);
        startx = a - radius*cos(phi);
        starty =  -radius*sin(phi);
    end
    
    %quiver(X,Y,Ex,Ey); %绘制箭头矢量图
    %phi = linspace(-pi,pi,30);%左半部分已定义
    streamline(X,Y,Ex,Ey,startx,starty);%绘制电场强度线
    %标记正电荷位置
    if(q1>0)
        plot(-a,0,'r+','MarkerSize',5)
    end
    if(q2>0)
        plot(a,0,'r+','MarkerSize',5)
    end
    hold off;
    drawnow;%刷新图窗
end
  • 36
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
MATLAB是一种强大的数学计算软件,也可以用来绘制天线方向。要绘制天线方向,首先需要通过MATLAB创建一个天线模型,然后定义天线的主要参数,如天线的类型、长度、宽度、高度和频率等。 接下来,可以使用MATLAB的天线工具箱来完成天线模型的建模。在工具箱中选择相应的函数来创建天线模型,并设置相关参数。例如,可以使用dipole函数创建偶极子天线模型,或者使用Patching函数来创建贴片天线模型。 一旦天线模型建立完成,可以在MATLAB中使用plot函数来绘制天线方向。为了绘制方向,需要将天线放置在一个特定的角度,并测量其功率增益。通过改变角度并记录功率增益的数值,可以获得天线的方向绘制方向的具体方法可以参考MATLAB的文档和教程。 在绘制天线方向时,可以使用MATLAB形功能来优化像的显示效果。可以设置坐标轴的刻度和标签,添加标题和例,并使用合适的颜色和线型来绘制天线的方向绘制完成后,可以保存方向片或其他格式,以备后续使用。同时,可以使用MATLAB的分析工具进一步分析方向的性能,如功率辐射、主瓣宽度等。 总而言之,MATLAB可以用于绘制天线方向。通过创建天线模型、定义参数、绘制像等步骤,可以方便快捷地完成天线方向绘制,并对其进行分析和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昼行plus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值