Let me correct myself. The graphs are shown but no lines are visible. Plot command worked, however, the graphs do not show the lines.
As you can see in the script I made 2 plot commands. However, there is nothing shown on the graphs. The display results is accurate, but I would like to have the graphs shown.
6 ビュー (過去 30 日間)
古いコメントを表示
% Solenoid parameters
plungerWeight = 2.43; % Plunger weight [g]
numTurns = 60; % Number of coil turns
current = 0.5; % Current [A]
time = 1; % Duration of solenoid being active [s]
plunger_mass = 2.43; % mass of plunger + spring [g]
L = 0.01; % Inductance [H]
R = 10; % Resistance [ohm]
K = 0.1; % Force constant [N/A]
r = 1.6; % radius of coil [mm]
V = 67.35; % Volume of solenoid [mm^3]
% Magnetic properties
l = V/(3.14*r^2) ; % coil length [mm]
permeability = 4*pi*1e-7; % Permeability of free space [H/m]
crossSectionalArea = (L*l)/(numTurns^2*permeability); % Cross-sectional area of the solenoid [m^2]
% Calculate the magnetic field strength
magneticField = (numTurns * current) / (crossSectionalArea * permeability);
% Calculate the force exerted by the solenoid
force = magneticField * plungerWeight;
% Calculate the displacement from speed
velocity = (force * time)/plunger_mass; % velocity of plunger upward movement [m/s]
displacement = velocity * time; % upward displacement of the plunger [mm]
% Plot the results
figure;
subplot(2, 1, 1);
plot1 = plot(t, force);
xlabel('Time [s]');
ylabel('Current [A]');
title('Current vs Time');
subplot(2, 1, 2);
plot2 = plot(t, displacement);
xlabel('Time [s]');
ylabel('Displacement [m]');
title('Displacement vs Time');
% Display the results
disp(['Magnetic Field Strength: ', num2str(magneticField), ' T']);
disp(['Force Exerted by the Solenoid: ', num2str(force), ' N']);
Result
>> solenoid_sim
Magnetic Field Strength: 1289008.4633 T
Force Exerted by the Solenoid: 3132290.5657 N
3 件のコメント
Dyuman Joshi
2023 年 7 月 6 日
移動済み: Dyuman Joshi
2023 年 8 月 25 日
Looking at the xlabel and titles, you need to use time instead of t.
採用された回答
Cris LaPierre
2023 年 7 月 6 日
編集済み: Cris LaPierre
2023 年 7 月 6 日
It is likely the variable you are plotting is a scalar (only has one value). In order to see a line, you must plot at least 2 points.
Try adding a marker style to your plot command to see if something appears. I've modified your plot commands to remove t, since it is not defined.
% Solenoid parameters
plungerWeight = 2.43; % Plunger weight [g]
numTurns = 60; % Number of coil turns
current = 0.5; % Current [A]
time = 1; % Duration of solenoid being active [s]
plunger_mass = 2.43; % mass of plunger + spring [g]
L = 0.01; % Inductance [H]
R = 10; % Resistance [ohm]
K = 0.1; % Force constant [N/A]
r = 1.6; % radius of coil [mm]
V = 67.35; % Volume of solenoid [mm^3]
% Magnetic properties
l = V/(3.14*r^2) ; % coil length [mm]
permeability = 4*pi*1e-7; % Permeability of free space [H/m]
crossSectionalArea = (L*l)/(numTurns^2*permeability); % Cross-sectional area of the solenoid [m^2]
% Calculate the magnetic field strength
magneticField = (numTurns * current) / (crossSectionalArea * permeability);
% Calculate the force exerted by the solenoid
force = magneticField * plungerWeight;
% Calculate the displacement from speed
velocity = (force * time)/plunger_mass; % velocity of plunger upward movement [m/s]
displacement = velocity * time; % upward displacement of the plunger [mm]
% Plot the results
figure;
subplot(2, 1, 1);
plot1 = plot(force,'-*');
xlabel('Time [s]');
ylabel('Current [A]');
title('Current vs Time');
subplot(2, 1, 2);
plot2 = plot(displacement,'-*');
xlabel('Time [s]');
ylabel('Displacement [m]');
title('Displacement vs Time');
% Display the results
disp(['Magnetic Field Strength: ', num2str(magneticField), ' T']);
disp(['Force Exerted by the Solenoid: ', num2str(force), ' N']);
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

