MATLAB中使用streamline函数绘制正负点电荷及它们构成的电偶极子的电场线分布图
先把上一篇博客中不严谨的代码拿出来:
% 在二维平面上绘制一个正点电荷的电场线图。
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(:)), 60));
hold off;
运行结果:
图片说明ÿ
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/27319311
- 点赞
- 收藏
- 关注作者
评论(0)