sample
Sampling: random draw with replacement
Syntax
s = sample(n, X, orient)
Arguments
- n
- positive integer (size of sample). 
- X
- array of any data type, or cells array. Samples will be extracted from this array. 
- orient
- The shape of samples: - '*'(default): elements of- Xare sampled.
- 1or- 'r': rows of- Xare sampled.
- 2or- 'c': rolumns of- Xare sampled.
 
- s
- vector, matrix, or cells array containing the samples, of same type as - X.
Description
s = sample(n, X)
            (or s = sample(n, X, '*'))
            returns a vector s of n elements randomly chosen
            among X elements, with replacement.
s = sample(n, X, 'r')
            (or s = sample(n, X, 1))
            returns a matrix of size n x size(X,'c') of randomly chosen Rows
            of X, with replacement.
s = sample(n, X, 'c')
            (or s = sample(n, X, 2))
            returns a matrix of size size(X,'r') x n of randomly chosen Columns
            of X, with replacement.
Random number generator
sample() is based on grand for generating
            the random samples. Use grand("setsd", seed) to change the seed for
            sample().
Examples
Sampling some numbers:
data = (1:9)' * 10.^(-3:3) sample(8, data) sample(5, data, "r") sample(5, data, "c")
--> data = (1:9)' * 10.^(-3:3) data = 0.001 0.01 0.1 1. 10. 100. 1000. 0.002 0.02 0.2 2. 20. 200. 2000. 0.003 0.03 0.3 3. 30. 300. 3000. 0.004 0.04 0.4 4. 40. 400. 4000. 0.005 0.05 0.5 5. 50. 500. 5000. 0.006 0.06 0.6 6. 60. 600. 6000. 0.007 0.07 0.7 7. 70. 700. 7000. 0.008 0.08 0.8 8. 80. 800. 8000. 0.009 0.09 0.9 9. 90. 900. 9000. --> sample(8, data) ans = 0.02 0.06 10. 0.009 0.007 70. 6000. 60. --> sample(5, data, "r") ans = 0.002 0.02 0.2 2. 20. 200. 2000. 0.009 0.09 0.9 9. 90. 900. 9000. 0.005 0.05 0.5 5. 50. 500. 5000. 0.002 0.02 0.2 2. 20. 200. 2000. 0.004 0.04 0.4 4. 40. 400. 4000. --> sample(5, data, "c") ans = 10. 0.1 100. 0.1 0.001 20. 0.2 200. 0.2 0.002 30. 0.3 300. 0.3 0.003 40. 0.4 400. 0.4 0.004 50. 0.5 500. 0.5 0.005 60. 0.6 600. 0.6 0.006 70. 0.7 700. 0.7 0.007 80. 0.8 800. 0.8 0.008 90. 0.9 900. 0.9 0.009
Sampling some texts:
data = [ "a" "aa" "aaa" "aaaa" "aaaaa" "aaaaaa" "b" "bb" "bbb" "bbbb" "bbbbb" "bbbbbb" "c" "cc" "ccc" "cccc" "ccccc" "cccccc" "d" "dd" "ddd" "dddd" "ddddd" "dddddd" "e" "ee" "eee" "eeee" "eeeee" "eeeeee" "f" "ff" "fff" "ffff" "fffff" "ffffff" ]; sample(5, data) sample(4, data, "r") sample(4, data, "c")
--> sample(5, data) ans = "ffff" "bb" "aaaa" "d" "c" --> sample(4, data, "r") ans = "d" "dd" "ddd" "dddd" "ddddd" "dddddd" "f" "ff" "fff" "ffff" "fffff" "ffffff" "d" "dd" "ddd" "dddd" "ddddd" "dddddd" "b" "bb" "bbb" "bbbb" "bbbbb" "bbbbbb" --> sample(4, data, "c") ans = "aaaaaa" "a" "aaa" "a" "bbbbbb" "b" "bbb" "b" "cccccc" "c" "ccc" "c" "dddddd" "d" "ddd" "d" "eeeeee" "e" "eee" "e" "ffffff" "f" "fff" "f"
Sampling some cells:
data = {%f, %pi, "abc", 1-%z ; 1+%z, "ABC", %e, %f} sample(5, data) sample(3, data, "r") sample(3, data, "c")
--> data = {%f, %pi, "abc", 1-%z ; 1+%z, "ABC", %e, %f}
 data  =
  [1x1 boolean   ]  [1x1 constant]  [1x1 string  ]  [1x1 polynomial]
  [1x1 polynomial]  [1x1 string  ]  [1x1 constant]  [1x1 boolean   ]
--> sample(5, data)
 ans  =
  [1x1 constant]  [1x1 polynomial]  [1x1 string]  [1x1 string]  [1x1 boolean]
--> sample(3, data, "r")
 ans  =
  [1x1 boolean   ]  [1x1 constant]  [1x1 string  ]  [1x1 polynomial]
  [1x1 polynomial]  [1x1 string  ]  [1x1 constant]  [1x1 boolean   ]
  [1x1 polynomial]  [1x1 string  ]  [1x1 constant]  [1x1 boolean   ]
--> sample(3, data, "c")
 ans  =
  [1x1 polynomial]  [1x1 boolean   ]  [1x1 string  ]
  [1x1 boolean   ]  [1x1 polynomial]  [1x1 constant]
See also
| Report an issue | ||
| << rand | random | samplef >> |