Advertisement
jukaukor

nD_unit_ball_averagelines.jl

Nov 4th, 2022
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. # n-ulotteisen yksikköhyperpallon sisälle mahtuvien janojen keskipituus
  2. # hyperpallon säde = 1
  3. # hyperpallo on hyperkuution sisällä, jonka sivu=2
  4. # tulostaa janojen keskipituuden, hyperpallon dimension, arvojen määrän
  5. # Juhani Kaukoranta 4.11.2022
  6.  
  7. function avglines(n,m)
  8. # n arvontojen lukumäärä, m=ulotteisuus
  9. # laskee oikein
  10. x1m = 2*rand(n,m) # hyperkuution janan alkupisteet
  11. x2m = 2*rand(n,m) # hyperkuution janan päätepisteet
  12. circle1 = sum(((x1m .- 1.0).^2),dims=2) .<= 1.0 #alkupisteet hyperpallon sisällä
  13. circle2 = sum(((x2m .- 1.0).^2),dims=2) .<= 1.0 #päätepisteet hyperpallon sisällä
  14. circle = circle1 .* circle2 # alku- ja päätepisteet hyperpallon sisällä
  15. x1mcircle = x1m .* circle # janan alkupisteet hyperpallon sisällä
  16. x2mcircle = x2m .* circle # janan päätepisteet hyperpallon sisällä
  17. d = sqrt.(sum(((x1mcircle - x2mcircle).^2),dims=2))
  18. janatlkm = sum(d.>0) # janojen lukumäärä
  19. keskipituus = sum(d)/janatlkm
  20. println("janojen keskipituus = ",keskipituus)
  21. println("janoja hyperpallon sisällä = ",janatlkm)
  22. println("arvontoja ",n, ", hyperpallon ulottuvuus ",m)
  23. end
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement