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;
運行結果:
圖片說明?
總結
以上是生活随笔為你收集整理的MATLAB中使用streamline函数绘制正负点电荷及它们构成的电偶极子的电场线分布图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二分逼近二分查找 高效解析800万大数据
- 下一篇: 线性回归与梯度下降