Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # n-ulotteisen yksikköhyperpallon sisälle mahtuvien janojen keskipituus
- # hyperpallon säde = 1
- # hyperpallo on hyperkuution sisällä, jonka sivu=2
- # tulostaa janojen keskipituuden, hyperpallon dimension, arvojen määrän
- # Juhani Kaukoranta 4.11.2022
- function avglines(n,m)
- # n arvontojen lukumäärä, m=ulotteisuus
- # laskee oikein
- x1m = 2*rand(n,m) # hyperkuution janan alkupisteet
- x2m = 2*rand(n,m) # hyperkuution janan päätepisteet
- circle1 = sum(((x1m .- 1.0).^2),dims=2) .<= 1.0 #alkupisteet hyperpallon sisällä
- circle2 = sum(((x2m .- 1.0).^2),dims=2) .<= 1.0 #päätepisteet hyperpallon sisällä
- circle = circle1 .* circle2 # alku- ja päätepisteet hyperpallon sisällä
- x1mcircle = x1m .* circle # janan alkupisteet hyperpallon sisällä
- x2mcircle = x2m .* circle # janan päätepisteet hyperpallon sisällä
- d = sqrt.(sum(((x1mcircle - x2mcircle).^2),dims=2))
- janatlkm = sum(d.>0) # janojen lukumäärä
- keskipituus = sum(d)/janatlkm
- println("janojen keskipituus = ",keskipituus)
- println("janoja hyperpallon sisällä = ",janatlkm)
- println("arvontoja ",n, ", hyperpallon ulottuvuus ",m)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement