Plot 2D electric field strength over distance (finite difference method)

4 ビュー (過去 30 日間)
Even Nøtland Giske
Even Nøtland Giske 2021 年 2 月 24 日
回答済み: Jaynik 2024 年 6 月 24 日
Hello.
I am trying to 2D plot the electric field strength in kV/m over distance, like the figure below.
How do I do this?
My workspace is below, voltages are in a 181x301 matrix.

回答 (1 件)

Jaynik
Jaynik 2024 年 6 月 24 日
Hi Even,
The electric field strength can be approximated by the gradient of the voltage with respect to distance. Here is a sample code to plot the data:
% Calculate the electric field strength (V/km)
% Assuming the voltageMatrix rows represent different distances
% and columns represent different measurements at those distances
electricFieldStrength = diff(voltageMatrix, 1, 2) ./ diff(distance);
% Adjust the distance array to match the size of electricFieldStrength
distanceMidPoints = (distance(1:end-1) + distance(2:end)) / 2;
% Plotting
figure;
plot(distanceMidPoints, electricFieldStrength);
xlabel('Distance (km)');
ylabel('Electric Field Strength (V/km)');
title('Electric Field Strength vs. Distance');
grid on;
  • The diff function computes the difference between adjacent elements. Here, it is used to approximate the gradient of the voltage with respect to distance.
  • The result is divided by the distance difference to get the electric field strength in V/km.
  • distanceMidPoints is calculated to align the x-axis values with the midpoints of the original distance intervals.
Please share more information regarding the data so that I can provide a more detailed answer.
Hope this helps!

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

Translated by