Saltar al contenido principal
LibreTexts Español

8.3: Hacer números aleatorios

  • Page ID
    84043
    • Franz S. Hover & Michael S. Triantafyllou
    • Massachusetts Institute of Technology via MIT OpenCourseWare
    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    El método de Monte Carlo requiere que disparemos en nuestra evaluación\(g(x)\) un grupo de números\(N\) aleatorios (o conjuntos de números aleatorios), extraídos de una distribución (o un conjunto de distribuciones para más de un elemento en\(x\)). Aquí describimos cómo generar dichos datos a partir de distribuciones simples.

    Tenga en cuenta que tanto la distribución normal como la uniforme se capturan en comandos MATLAB estándar.

    Describimos en particular cómo generar muestras de una distribución dada, a partir de números aleatorios tomados de una distribución uniforme subyacente. Primero, decimos que la función de probabilidad acumulativa de la distribución uniforme es

    \[ P(w) = \begin{cases} 0, \quad w \leq 0 \\[4pt] w, \quad 0 < w < 1 \\[4pt] 1, \quad w \geq 1 \end{cases} \]

    Si\(x = r(w)\) dónde\(r\) está la transformación que buscamos, recordemos que las probabilidades acumuladas son

    \[ P(x) \, = \, P(r(w)) \, = \, P(w) \, = \, w, \]y el resultado que necesitamos es que\[ w \, = \, P(x) \, = \int\limits_{- \infty}^{x} p(x) \, dx. \] Nuestra tarea es llegar a una\(x\) que vaya con lo uniformemente distribuido\(w\) -no es tan difícil como parecería. Como ejemplo, supongamos que queremos generar una variable normal\(x\) (media cero, varianza de unidad). Tenemos

    \ begin {align} P (x)\, =\ int\ límites_ {-\ infty} ^ {x}\ dfrac {1} {\ sqrt {2\ pi}} e^ {-t^2/2}\, dt\, &=\, w\\ [4pt] F (x)\, &=\, w,\ textrm {o}\\ [4pt] F (x)\, &=\, w,\ textrm {o}\\ [4pt pt] x\, &=\, F^ {-1} (w),\ end {align}

    donde\(F(x)\) es la función de probabilidad acumulativa de una variable gaussiana estándar (media cero, varianza de unidad), y puede buscarse o calcularse con rutinas estándar. \(F(x)\)La nota se relaciona dentro de un factor de escala con la función de error (\( \textrm{erf} \)).

    Como otro ejemplo, considere la distribución exponencial

    \[ p(x) \, = \, \lambda e^{- \lambda x}; \]esta distribución se utiliza a menudo para describir el tiempo de falla en sistemas complejos. Tenemos

    \ begin {align} P (x)\, =\ int\ límites_ {0} ^ {x}\ lambda e^ {-\ lambda t}\, dt\, &=\, w\\ [4pt] 1 - e^ {-\ lambda x}\, &=\, w\ textrm {o}\\ [4pt] x\, &=\, -\ dfrac {\ log (1-w)} {\ lambda}. \ end {align}

    De igual manera, este procedimiento aplicado a la distribución de Rayleigh\[ p(x) \, = \, x e^{-x^2 / 2} \] da\(x = \sqrt{-2 \log (1-w)}\). En estas fórmulas, podemos sustituir\((w-1)\) con a\(w\) lo largo;\(w\) se distribuye uniformemente en el intervalo\([0, \, 1]\), por lo que son equivalentes.


    This page titled 8.3: Hacer números aleatorios is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Franz S. Hover & Michael S. Triantafyllou (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.