⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r4_normal_01.m

📁 用于生成一个正态分布的伪随机数数值序列
💻 M
字号:
function [ x, seed ] = r4_normal_01 ( seed )%% R4_NORMAL_01 returns a unit pseudonormal R4.%%  Discussion:%%    The standard normal probability distribution function (PDF) has%    mean 0 and standard deviation 1.%%  Method:%%    The Box-Muller method is used, which is efficient, but%    generates two values at a time.%%  Modified:%%    17 July 2006%%  Author:%%    John Burkardt%%  Parameters:%%    Input, integer SEED, a seed for the random number generator.%%    Output, real X, a sample of the standard normal PDF.%%    Output, integer SEED, an updated seed for the random number generator.%  persistent seed2;  persistent used;  persistent y;  if ( size ( used ) == 0 )    used = 0;    seed2 = 0;    y = 0;  end%%  If we've used an even number of values so far, generate two more,%  return one and save one.%  if ( mod ( used, 2 ) == 0 )    [ r1, seed ] = r4_uniform_01 ( seed );    if ( r1 == 0.0 )      fprintf ( 1, '\n' );      fprintf ( 1, 'R4_NORMAL_01 - Fatal error!\n' );      fprintf ( 1, '  R4_UNIFORM_01 returned a value of 0.\n' );      error ( 'R_NORMAL_01 - Fatal error!\n' );    end    seed2 = seed;    [ r2, seed2 ] = r4_uniform_01 ( seed2 );    x = sqrt ( -2.0 * log ( r1 ) ) * cos ( 2.0 * pi * r2 );    y = sqrt ( -2.0 * log ( r1 ) ) * sin ( 2.0 * pi * r2 );%%  Otherwise, return the second, saved, value, %  and the corresponding value of SEED.%  else    x = y;    seed = seed2;  end  used = used + 1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -