利用matlab绘图绘制相距1cm的带电量为分别为1C与-1C的电荷和带电量分别为1C与1C的电荷两种电力线图形
时间: 2024-03-18 13:41:30 浏览: 76
以下是利用 MATLAB 绘制相距 1cm 的带电量为分别为 1C 与 -1C 的电荷和带电量分别为 1C 与 1C 的电荷两种电力线图形的代码:
带电量为 1C 和 -1C 的电荷电力线图形代码:
```
% 定义电荷的位置和带电量
q1 = 1; % 带电量为 1C
q2 = -1; % 带电量为 -1C
r1 = [0, 0]; % 电荷 1 的位置
r2 = [1, 0]; % 电荷 2 的位置
% 定义绘图区域
x = linspace(-3, 3, 100);
y = linspace(-3, 3, 100);
[X, Y] = meshgrid(x, y);
% 计算电势和电场
k = 8.99e9; % 真空中的库仑常数
r1x = X - r1(1); % x 方向上的距离
r1y = Y - r1(2); % y 方向上的距离
r2x = X - r2(1);
r2y = Y - r2(2);
r1r = sqrt(r1x.^2 + r1y.^2); % 电荷 1 到各点的距离
r2r = sqrt(r2x.^2 + r2y.^2); % 电荷 2 到各点的距离
phi1 = k * q1 ./ r1r; % 电荷 1 产生的电势
phi2 = k * q2 ./ r2r; % 电荷 2 产生的电势
phi = phi1 + phi2; % 总电势
[E1x, E1y] = gradient(-phi1); % 电荷 1 产生的电场
[E2x, E2y] = gradient(-phi2); % 电荷 2 产生的电场
Ex = E1x + E2x; % 总电场 x 分量
Ey = E1y + E2y; % 总电场 y 分量
% 绘制电力线图形
figure
contour(X, Y, phi, 50)
hold on
quiver(X, Y, Ex, Ey)
axis equal
title('带电量为 1C 和 -1C 的电荷电力线图形')
```
带电量为 1C 的电荷电力线图形代码:
```
% 定义电荷的位置和带电量
q1 = 1; % 带电量为 1C
q2 = 1; % 带电量为 1C
r1 = [0, 0]; % 电荷 1 的位置
r2 = [1, 0]; % 电荷 2 的位置
% 定义绘图区域
x = linspace(-3, 3, 100);
y = linspace(-3, 3, 100);
[X, Y] = meshgrid(x, y);
% 计算电势和电场
k = 8.99e9; % 真空中的库仑常数
r1x = X - r1(1); % x 方向上的距离
r1y = Y - r1(2); % y 方向上的距离
r2x = X - r2(1);
r2y = Y - r2(2);
r1r = sqrt(r1x.^2 + r1y.^2); % 电荷 1 到各点的距离
r2r = sqrt(r2x.^2 + r2y.^2); % 电荷 2 到各点的距离
phi1 = k * q1 ./ r1r; % 电荷 1 产生的电势
phi2 = k * q2 ./ r2r; % 电荷 2 产生的电势
phi = phi1 + phi2; % 总电势
[E1x, E1y] = gradient(-phi1); % 电荷 1 产生的电场
[E2x, E2y] = gradient(-phi2); % 电荷 2 产生的电场
Ex = E1x + E2x; % 总电场 x 分量
Ey = E1y + E2y; % 总电场 y 分量
% 绘制电力线图形
figure
contour(X, Y, phi, 50)
hold on
quiver(X, Y, Ex, Ey)
axis equal
title('带电量为 1C 的电荷电力线图形')
```
运行以上代码将会得到两张电力线图形,分别是带电量为 1C 和 -1C 的电荷电力线图形和带电量为 1C 的电荷电力线图形。
阅读全文