我试图绘制Matlab中的电场积分,E(y轴)Vs Z(x轴)。功能如下:
我想在这张图片中绘制第一个积分E(z)。
答案 0 :(得分:3)
由于你有这个积分的解析公式,你只需要设置z的值并计算相应的E(z):
%% Set the values for z
z = x1:0.1:x2;
% x1 and x2 are your bounds on the X axis
% The discrete step is set to 0.1, lower/increase it depending on the level of detail you want
%% Compute the electric field values
Ez = (k*l/z) .* ( b/sqrt(z.*z + b*b) + a/sqrt(z.*z + a*a) );
%% Plot the values
plot(z, Ez);
答案 1 :(得分:1)
那应该不是问题。让我们假设在绘图之前已经设置了一些常量。那是a
,b
,k
和lambda
。
此外,由于您在MATLAB中进行绘图,因此需要使用离散步骤....因此请选择一个小步骤,例如s = 0.01;
。您还需要z
值的起点和终点(已将其声明为-a
到b
)。因此,代码看起来像这样:
s = 0.01;
% Define z values
z = -a : s : b;
% Ez values
E = (k*lambda / z) .* ( (b / sqrt(z.^2 + b^2)) + (a / sqrt(z.^2 + a^2)) );
plot(z, E);
title('E vs. Z');
希望这有效!