Hier ist ein Code, um das elektrische Potential um zwei entgegengesetzt geladene Teilchen zu simulieren:Fehler beim Versuch, Contour-Ebenen zu verwalten?
clc; clear; close all;
e_0 = 8.987E-9; % Coulomb's constant
xy = [1,2.5; 4,2.5]; % particle coordinates.
q = [1; -1]; % particle charge.
sBeg = 0;
sStep = 0.1;
sEnd = 5;
[X,Y] = meshgrid(sBeg : sStep : sEnd); % generate a 2D-coordinate grid
V_E = zeros(size(X)); % initialise electric potential field.
for i = 1 : numel(q) % add potential fields of each charge
V_E = V_E + e_0 * q(i) ./ hypot(xy(i,1) - X, xy(i, 2) - Y);
end
contourf(X,Y, V_E);
ylabel(colorbar, 'Electric Potenial (V)')
Ergebnis:
Die Konturen dicht in der Nähe der Positionen der Partikel konzentriert sind, wie „zu verbreiten sie "gleichmäßiger, während der Maßstab für die Achse beibehalten wird?
NB:
Ich habe versucht:
hc = contourf(X,Y,V_E);
contourLevels = [ 0 quantile(V_E(:), 10) ];
hc.LevelList = contourLevels;
von here, aber ich bekomme die folgende Fehlermeldung:
error: invalid assignment to cs-list outside multiple assignment
Was mache ich falsch?
I Octave-4.2.1 unter Windows 10.