MATLAB中使用streamline函数绘制正负点电荷及它们构成的电偶极子的电场线分布图

该博客详细介绍了如何使用MATLAB的streamline函数绘制正点电荷、负点电荷以及电偶极子的电场线分布图。通过修正代码中的梯度计算和起点设置,成功模拟了电场线从电荷出发并延伸至无穷远的场景。同时,展示了如何结合等势线来更好地理解电场分布。
摘要由CSDN通过智能技术生成
电场强度等于电势梯度乘以-1,而这些代码在调用gradient函数求偏导后并没有乘以-1。

    先把上一篇博客中不严谨的代码拿出来:

% 在二维平面上绘制一个正点电荷的电场线图。
k = 8.9875e+9; % 比例系数:
e = 1.602e-19; % 指定点电荷电量为一个电子带电量绝对值
ke = k * e;    % k by e
d = -2:0.05:2;
[x, y] = meshgrid(d, d);
% 计算电位
V = ke ./ sqrt(x.^2 + y.^2 + 0.01); % 加了一个0.01,防止分母为0。
% 求电势的梯度,即电场强度
[E_x, E_y] = gradient(V); %  警告:这里没有乘以-1
sx = [linspace(-1, 1, 10), linspace(1, 1, 10), linspace(-1, 1, 10), linspace(-1, -1, 10)];
sy = [linspace(1, 1, 10), linspace(-1, 1, 10), linspace(-1, -1, 10), linspace(-1, 1, 10)];
hold on;
streamline(x, y, E_x, E_y, sx, sy);
contour(x, y, V, linspace(min(V(:)), max(V(:))

电偶极子电场线,可以按照以下步骤操作: 1. 定义电偶极子位置和电荷大小。例如,假设电荷量分别为+q和-q,分别位于坐标点(x1, y1)和(x2, y2)。 2. 在图之前,需要先计算出电场的大小和方向。对于电偶极子,可以使用公式E=k*(2p/r^3)来计算电场大小,其k为库仑常数,p为电偶极子矩,r为距离。在Matlab,可以使用meshgrid函数生成网格点,再使用sqrt、cos和sin等函数计算出每个网格点到电荷的距离和电场大小。 3. 根据计算出的电场大小和方向,可以使用quiver函数在网格点上绘制电场矢量。需要注意的是,由于电偶极子的电场是二维的,因此需要在x和y方向上都绘制电场矢量。 4. 最后,可以使用streamline函数在网格点上绘制电场线。需要指定起点和终点,可以选择在电偶极子周围的任意位置开始绘制电场线。 下面是一个示例代码,可以电偶极子电场线: ```matlab % 定义电偶极子位置和电荷大小 x1 = -1; y1 = 0; q1 = 1; x2 = 1; y2 = 0; q2 = -1; % 计算网格点和电场大小 [x, y] = meshgrid(-2:0.2:2); k = 9e9; % 库仑常数 r1 = sqrt((x-x1).^2 + (y-y1).^2); r2 = sqrt((x-x2).^2 + (y-y2).^2); E1 = k*q1*(x-x1)./r1.^3 + k*q2*(x-x2)./r2.^3; E2 = k*q1*(y-y1)./r1.^3 + k*q2*(y-y2)./r2.^3; % 绘制电场矢量 quiver(x, y, E1, E2); hold on; % 绘制电场线 startx = [-1.5 -1.5]; starty = [-1 1]; streamline(x, y, E1, E2, startx, starty); startx = [1.5 1.5]; starty = [-1 1]; streamline(x, y, E1, E2, startx, starty); % 设置坐标轴和标题 axis equal; xlim([-2 2]); ylim([-2 2]); title('Electric field of a dipole'); xlabel('x'); ylabel('y'); hold off; ``` 运行上述代码,就可以得到一个电偶极子电场线图像。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

文宇肃然

精神和物质鼓励你选一个吧

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

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

打赏作者

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

抵扣说明:

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

余额充值