aboutsummaryrefslogtreecommitdiff
path: root/random-speed.jl
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2024-03-11 15:40:47 -0400
committersotech117 <michael_foiani@brown.edu>2024-03-11 15:40:47 -0400
commit6cbc309cb94551e75d914e105ff94e5a39878abf (patch)
treed5fc7ae437fd3ca766e317ac307361c08f4563e2 /random-speed.jl
parent7b4d951fa00ee0e94d1d1b65a2f2f06cb9850146 (diff)
update readme & add energy graph to match chi^2 curve
Diffstat (limited to 'random-speed.jl')
-rw-r--r--random-speed.jl25
1 files changed, 20 insertions, 5 deletions
diff --git a/random-speed.jl b/random-speed.jl
index 0af9121..058fedd 100644
--- a/random-speed.jl
+++ b/random-speed.jl
@@ -1,13 +1,22 @@
using Plots
using Distributions
-num_velocities = 1000
+num_velocities = 100000
+num_dimensions = 3
println("Starting Random Speed Simualtions...\n")
function make_random_velocity()
# pull 3 nums randomly from normal distribution
N = Normal(0, 1)
+ if num_dimensions == 1
+ return (rand(N), 0, 0)
+ end
+
+ if num_dimensions == 2
+ return (rand(N), rand(N), 0)
+ end
+
return (rand(N), rand(N), rand(N))
end
@@ -56,14 +65,20 @@ p = Plots.scatter(
title="Velocities")
savefig(p, "figs/rs-3dvels.png")
-# plot their speeds
speeds = [sqrt(v[1]^2 + v[2]^2 + v[3]^2) for v in velocities]
p = histogram(
- speeds, title="Randomly Generated Speeds (n=$num_velocities)",
- legend=false, xlabel="Speed", ylabel="Frequency")
+ speeds, title="Randomly Generated Speeds (n=$num_velocities, d=$num_dimensions)",
+ legend=false, xlabel="Speed = \$ √(v_x^2 + v_y^2 + v_z^2) \$", ylabel="Frequency")
savefig(p, "figs/rs-speeds.png")
+
+# plot their energy
+energies = [.5 * (v[1]^2 + v[2]^2 + v[3]^2) for v in velocities]
+p = histogram(
+ energies, title="Randomly Generate`d Energies (n=$num_velocities, d=$num_dimensions)",
+ legend=false, xlabel="Energy = \$ .5m(v_x^2 + v_y^2 + v_z^2) \$", ylabel="Frequency")
+savefig(p, "figs/rs-energies.png")
# print the mean and standard deviation of the speed distribution
-println("\nSpeed->\tμ:$(mean(speeds)), σ:$(std(speeds)), n:$(length(speeds))")
+println("\tEnergies->\tμ:$(mean(energies)), σ:$(std(energies)), n:$(length(energies))")
println("\nRandom Speed Simualtions Complete!") \ No newline at end of file