Verfasst am: 06.08.2012, 14:07
Titel: Magnetfeld und Verlauf einer Probeladung
Wie kann ich in Matlab die magnetischen Feldlinien darstellen lassen?
Bei meinen bisherigen Code werden sie nicht in Kreisbahnen geplottet, was aber falsch ist.
function[iHp iHn] = plotCharge(ioO)
vbPosCharge = ioO.vI > 0;
% Liefere mir nur die positiven Ladungen
iHp = plot(ioO.mXY(vbPosCharge,1), ioO.mXY(vbPosCharge,2),'ro'); hold on
% Plotten von positiven X- und Y-Werten der Ladungen)
iHn = plot(ioO.mXY(~vbPosCharge,1), ioO.mXY(~vbPosCharge,2),'bo'); hold off
% Plotten von negativen X- und Y-Werten der Ladungen) ifnargout == 0,
% nargout "gibt die Anzahl der Rückgabewerte zurück" clear iHp iHn;
end end
for CntI = 1:ioO.N,
I = ioO.vI(CntI);
X = ioO.mXY(CntI, 1); % X-Werte an 1.Stelle der Matrix
Y = ioO.mXY(CntI, 2); % Y-Werte an 2.Stelle der Matrix
%V = ioO.vV(CntQ);
mRx = imX - X; % Abstand der X-Ladungspunkte
mRy = imY - Y; % Abstand der Y-Ladungspunkte
mR = sqrt(mRx.^2+mRy.^2);
mR0=mR/norm(mR) % Euklidscher Abstand zwischen den mRx und den mRy
mR(mR<cMField.RMin) = NaN;
% Es sollen nicht alle Vektoren angezeigt werden. % Vektoren nah bei der Ladung werden ausgeschlossen
mEmag = cMField.Mu0 * I / 2 / pi ./ mR;
%mEmag = cMField.Mu0 * Q / 4 / pi ./ mR.^3 * V;
imE(:,:,1) = mRx .* mEmag + imE(:,:,1);
imE(:,:,2) = mRy .* mEmag + imE(:,:,2);
end end
function iH = plotMField(ioO, ivX, ivY) [mE mX mY] = ioO.calcMField(ivX, ivY);
iH = quiver(mX, mY, mE(:,:,1), mE(:,:,2), 1);
% quiver zeichnet grafische Vektoren % Wo stehen die X und Y-Werte % dann wie lang sind die Vektoren x und y % 0 ist automatische Skalierung durch MatLab xlabel('x'), ylabel('y') ifnargout == 0, clear iH, end end
Und wie könnte ich dann den Verlauf einer Probeladung simulieren die in das Magnetfeld hineingegenen wird?
Danke für eure Hilfe
mFg
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.