New answers tagged

1

This appears to be a bug. Histogram shows result of 100K RV on PascalDistribution[1,1/50] for 100k batch using RandomVariate[...,100000] (blue) and generating a table of 100k single calls (default chicken-poop-and-mud jaundice beige): Thanks to Karsten for verification and Jim for histogram idea.


1

In the t1 case Random`DistributionVector[PascalDistribution[1, 1/50], 10000, ∞] is evaluated and in the t2 case Random`DistributionVector[PascalDistribution[1, 1/50], 10, ∞] The definition of this function contains a Which statement. Its first test is True for 10000 and False for 10. Its second test (there are only two) is True. For your parameters ...


1

Just an extended comment: Rather than a consistent shift for the values in the minimum values for t2, it appears that the distribution is completely different than for t1, t3, and t4. Here's a figure showing that: h[x_, label_] := Histogram[Min /@ x, {1}, "PDF", PlotRange -> {{0, 30}, {0, 0.20}}, PlotLabel -> Style[label, Bold, Larger]] ...


3

As a general solution, you can always Export you data to a file. L = 10; random = Table[{x, y, RandomReal[{-1, 1}]}, {x, 0, L, L/10}, {y, 0, L, L/10}]; Export[NotebookDirectory[]<>"rand.dat",Flatten[random,1]] Next time you want to use this data random = Import[NotebookDirectory[]<>"rand.dat"]; One benefit of using data file is you can use ...


6

Add this simple code before u run everything will let Random generate exactly the same result every time you run. If you're careful enough, you may find this in lot's of posts with randomly generated input. SeedRandom["Whatever you write here, keep it the same in multiple runs!"] Hope this can help you!


5

As noted by previous answerers, the desired distributional properties of the spherical random walk was not properly clarified. Nevertheless, let me offer two variations of interest. The first variation is the spherical analog of the bounded random walk (this recent thread shows a few ways on how to implement this). This would seem to have been the variation ...


3

You can save your trained classifier in .mx file and simply load it in the new session. data = {{1, "a"} -> True, {2, "b"} -> True, {3, "b"} -> True, {4, "a"} -> True, {5, "a"} -> False, {6, "b"} -> True}; c = Classify[data, Method -> "RandomForest"]; c[{5, "b"}, "Probabilities"] <|False -> 0.202281, True -> 0.797719|> ...


3

Here is an approach that generates many more points than you had, selects the ones for which your conditions are met, and plots them: k1[s_, d_] := 3 s + 5 d k2[s_, d_] := 5 s - 7 d ps = RandomVariate[UniformDistribution[{{0.1, 2}, {-1, 3}}], 1000000]; valid = Select[ps, 0 < k1[Sequence @@ #] <= 1 && 0 < k2[Sequence @@ #] <= 2 &]; ...


3

Your approach is a dead end, you can't determine all points by picking them and checking conditions. Because there are infinitely many of them. ImplicitRegion[ 0 < k1[x, y] <= 1 && 0 < k2[x, y] <= 2, {x, y} ] // RegionPlot


11

Well, facinating question! Code first: Clear["`*"]; n = 5; steps = 1000; dir = {{0, 0}, {1, 0}, {0, 1}}; start = FromDigits[#, 2] & /@ Transpose@Append[RandomChoice[dir, n - 1], RandomInteger[1, 2]]; move[pt_] :=With[{c = RandomChoice@Pick[-dir, BitAnd @@ (# + pt) & /@ -dir, 0]}, pt + c +RandomChoice@DeleteCases[dir, -c]]; move[{2^n, 0}] := {2^n -...


6

Use AnglePath. SeedRandom["wolfram"]; ListLinePlot[AnglePath[RandomReal[{-Pi, Pi}, 100]], Axes -> None, Frame -> True]


0

Propagate for a unit step. step[position_] := With[{t = 2 Pi RandomReal[]}, position + {Cos[t], Sin[t]}] Make n steps from origin. If the second argument is omitted, it defaults to {0, 0}. walk[n_, origin_: {0, 0}] := NestList[step, origin, n] Calculate distance of a walk instance, and visualize it. distance[aWalk_] := EuclideanDistance @@ aWalk[[...


4

RandomPoint makes this a one liner (as of version 10.2): RandomPoint[Sphere[{0, 0, 0}, 4]] {1.80874, 3.43311, -0.970669} Or get multiple points at once: RandomPoint[Sphere[{0, 0, 0}, 4], 10] {{-2.15717, -0.871558, -3.25377}, {1.65153, 2.06714, -2.99989}, {-0.798, 3.91915, -0.0591287}, {-2.19946, 3.2677, 0.696074}, {3.21113, 2.00556, 1.29087}, {...


6

randomWalk[t_] := Accumulate[ Prepend[RandomPoint[DiscretizeRegion[Circle[]], t], {0, 0}]]//ListLinePlot randomWalk[100] EDIT (3D Case) Borrowing @eldo's idea here: randomWalk[t_] := (Accumulate[Prepend[RandomPoint[DiscretizeRegion[Sphere[]], t], {0, 0, 0}]] // ListPointPlot3D) /. Point -> Line


3

Try the following code: pt=Accumulate[{Sin@#,Cos@#}&/@RandomReal[{0,2 Pi},1000]]; boundary={Min@pt,Max@pt}; (*Distance is here*) Norm@Last@pt ListLinePlot[pt,PlotRange->{boundary,boundary},AspectRatio->1] The result will be: Also,I suspect you may need to run it multiple times and track it's end points distribution, so try this: pt = Table[...


2

randomWalk[steps_] := With[ {pts = FoldList[Plus, {0, 0}, Normalize /@ RandomReal[{0, 1}, {steps, 2}]]}, Graphics[{Line[pts], Red, Point[pts]}] ] randomWalk[5]


0

Three observations: Your random process is non-Markovian, i.e. depends on the previous steps The number of states is finite, in your example there are only 90 of them. In view of (i) and (ii) you have a random walk on a tree. You can build the tree explicitly for small systems and study it. But you can also use a brute force approach based on your ...


0

I did genoutcomes[src_, numberforeach_, draws_] := RandomSample[Table[src, {numberforeach}] // Flatten, draws] genoutcomes[{red, green, blue}, 10, 30] yields {red, blue, green, red, red, red, green, blue, green, blue, red, red, \ red, green, green, red, green, red, green, blue, blue, green, blue, \ green, blue, red, blue, green, blue, blue} Hope I did ...



Top 50 recent answers are included