Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %% This script draws a plot of the magnetic field for an infinitely long wire
- %% Defining constants
- one_over_4pic2eps0 = 10^-7;
- Current = 100; %Amp
- %% defining r and calculating the field strength
- r = [0:2000];
- B = (2*Current*one_over_4pic2eps0)./r;
- %% Plotting field strength;
- figure(1);
- plot(r,B);
- ylim([-1*10^-7, 2*10^-6]);
- xlabel('r [m]');
- ylabel('|B| [T]');
- title('Magnetic field strenght based on distance from infinite wire');
- %% Defining vector field r infinite wire
- x_values = [-10:0.5:10];
- y_values = [-10:0.5:10];
- [X_r, Y_r] = meshgrid(x_values, y_values);
- X_B = (one_over_4pic2eps0*2*Current).*(-Y_r./(X_r.^2+Y_r.^2));
- Y_B = (one_over_4pic2eps0*2*Current).*(X_r./(X_r.^2+Y_r.^2));
- %% plotting B field infinite wire
- figure(2);
- %quiver(X_r, Y_r, X_r, Y_r); %% vector r
- quiver(X_r, Y_r, X_B, Y_B); %% vector r
- pbaspect([1 1 1]);
- xlim([-10 10]);
- ylim([-10 10]);
- %% calculating for finite wire
- X_UnitVecB = -Y_r./sqrt(X_r.^2+Y_r.^2);
- Y_UnitVecB = X_r./sqrt(X_r.^2+Y_r.^2);
- %% let the wire start at x=0 and go up to x=length
- length = 10; % meters
- x_observer = length/2; % meters
- d_cable = 2; % meters
- a = [-10:0.001:10]; % meters from wire
- theta1 = atan(x_observer./a);
- theta2 = atan((length-x_observer)./a);
- mu_0 = 4*pi*(10^-7);
- mag_B_1 = (mu_0*Current)./((4*pi).*a) .* (sin(theta1) + sin(theta2));
- a = a-d_cable;
- mag_B_2 = (mu_0*-Current)./((4*pi).*a) .* (sin(theta1) + sin(theta2));
- figure(3);
- plot(a+(d_cable/2), abs(mag_B_1+mag_B_2));
- xlim([-5 5]);
- ylim([0 0.001]);
- %ylim([-1*10^-9 1*10^-7]);
- %% quiver plot
- x_values = [-10:0.1:10];
- y_values = [-10:0.1:10];
- [X1,Y1] = meshgrid(x_values+1, y_values);
- wire_1_unit_vecX = -Y1./sqrt(X1.^2+Y1.^2);
- wire_1_unit_vecY = X1./sqrt(X1.^2+Y1.^2);
- [X2,Y2] = meshgrid(x_values-1, y_values);
- wire_2_unit_vecX = Y2./sqrt(X2.^2+Y2.^2);
- wire_2_unit_vecY = -X2./sqrt(X2.^2+Y2.^2);
- a = sqrt((x_values+1).^2+(y_values).^2);
- theta1 = atan(x_observer./a);
- theta2 = atan((length-x_observer)./a);
- mag_B_1 = (mu_0*Current)./((4*pi).*a) .* (sin(theta1) + sin(theta2));
- a = sqrt((x_values-1).^2+(y_values).^2);
- theta1 = atan(x_observer./a);
- theta2 = atan((length-x_observer)./a);
- mag_B_2 = (mu_0*Current)./((4*pi).*a) .* (sin(theta1) + sin(theta2));
- unitVecX = wire_1_unit_vecX.*mag_B_1+wire_2_unit_vecX.*mag_B_2;
- unitVecY = wire_1_unit_vecY.*mag_B_1+wire_2_unit_vecY.*mag_B_2;
- [X, Y] = meshgrid(x_values, y_values);
- quiver(X, Y, unitVecX, unitVecY);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement