[C#] 查标准正态分布表

static double[] ayZTFB = null;

/// <summary>
/// 计算标准正态分布表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static double CalcN(double input)
{
	if (ayZTFB == null)
	{
		//从0.00到3.09的标准正态分布表
		string ss = "0.5,0.504,0.508,0.512,0.516,0.5199,0.5239,0.5279,0.5319,0.5359,0.5398,0.5438,0.5478,0.5517,0.5557,0.5596,0.5636,0.5675,0.5714,0.5753,0.5793,0.5832,0.5871,0.591,0.5948,0.5987,0.6026,0.6064,0.6103,0.6141,0.6179,0.6217,0.6255,0.6293,0.6331,0.6368,0.6406,0.6443,0.648,0.6517,0.6554,0.6591,0.6628,0.6664,0.67,0.6736,0.6772,0.6808,0.6844,0.6879,0.6915,0.695,0.6985,0.7019,0.7054,0.7088,0.7123,0.7157,0.719,0.7224,0.7257,0.7291,0.7324,0.7357,0.7389,0.7422,0.7454,0.7486,0.7517,0.7549,0.758,0.7611,0.7642,0.7673,0.7703,0.7734,0.7764,0.7794,0.7823,0.7852,0.7881,0.791,0.7939,0.7967,0.7995,0.8023,0.8051,0.8078,0.8106,0.8133,0.8159,0.8186,0.8212,0.8238,0.8264,0.8289,0.8315,0.834,0.8365,0.8389,0.8413,0.8438,0.8461,0.8485,0.8508,0.8531,0.8554,0.8577,0.8599,0.8621,0.8643,0.8665,0.8686,0.8708,0.8729,0.8749,0.877,0.879,0.881,0.883,0.8849,0.8869,0.8888,0.8907,0.8925,0.8944,0.8962,0.898,0.8997,0.9015,0.9032,0.9049,0.9066,0.9082,0.9099,0.9115,0.9131,0.9147,0.9162,0.9177,0.9192,0.9207,0.9222,0.9236,0.9251,0.9265,0.9278,0.9292,0.9306,0.9319,0.9332,0.9345,0.9357,0.937,0.9382,0.9394,0.9406,0.9418,0.943,0.9441,0.9452,0.9463,0.9474,0.9484,0.9495,0.9505,0.9515,0.9525,0.9535,0.9545,0.9554,0.9564,0.9573,0.9582,0.9591,0.9599,0.9608,0.9616,0.9625,0.9633,0.9641,0.9648,0.9656,0.9664,0.9671,0.9678,0.9686,0.9693,0.97,0.9706,0.9713,0.9719,0.9726,0.9732,0.9738,0.9744,0.975,0.9756,0.9762,0.9767,0.9772,0.9778,0.9783,0.9788,0.9793,0.9798,0.9803,0.9808,0.9812,0.9817,0.9821,0.9826,0.983,0.9834,0.9838,0.9842,0.9846,0.985,0.9854,0.9857,0.9861,0.9864,0.9868,0.9871,0.9874,0.9878,0.9881,0.9884,0.9887,0.989,0.9893,0.9896,0.9898,0.9901,0.9904,0.9906,0.9909,0.9911,0.9913,0.9916,0.9918,0.992,0.9922,0.9925,0.9927,0.9929,0.9931,0.9932,0.9934,0.9936,0.9938,0.994,0.9941,0.9943,0.9945,0.9946,0.9948,0.9949,0.9951,0.9952,0.9953,0.9955,0.9956,0.9957,0.9959,0.996,0.9961,0.9962,0.9963,0.9964,0.9965,0.9966,0.9967,0.9968,0.9969,0.997,0.9971,0.9972,0.9973,0.9974,0.9974,0.9975,0.9976,0.9977,0.9977,0.9978,0.9979,0.9979,0.998,0.9981,0.9981,0.9982,0.9982,0.9983,0.9984,0.9984,0.9985,0.9985,0.9986,0.9986,0.9987,0.999,0.9993,0.9995,0.9997,0.9998,0.9998,0.9999,0.9999,1";
		var ays = ss.Split(‘,‘);

		var temp = new double[310];
		for (int i = 0; i < 310; i++)
		{
			temp[i] = double.Parse(ays[i]);
		}
		ayZTFB = temp;
	}

	int idx = (int)(Math.Abs(input * 100) + 0.5);
	if (idx < 0)
	{
		idx = 0;
	}
	if (idx >= ayZTFB.Length)
	{
		idx = ayZTFB.Length - 1;
	}

	var val = ayZTFB[idx];
	if (input < 0)
	{
		val = 1 - val;
	}
	return val;
}

请叫我雷锋。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 14:50:50

[C#] 查标准正态分布表的相关文章

标准正态分布+标准正态分布概率表+分布函数+积分

X~N(μ,σ²):一般正态分布:均值为μ.方差为σ² http://blog.csdn.net/zhanghongxian123/article/details/39008493 对于标准正态分布来说,存在一张表,称为:标准正态分布表: 该表计算的是:P(X<=x)[某个数落在某个[[email protected],x]]的概率.也就是下面阴影图形所示的面积: 如果x=1.96.则将1.96拆分为1.9和0.06.横轴1.9和纵轴0.06的交汇处:0.975.就是x<=1.96的概率. 也

Python中怎样生成一个服从标准正态分布的矩阵??

例如要产生一个标准正态分布的矩阵,矩阵维数为2*3,则代码如下: 1 from numpy import *; 2 def rand_Matrix(): 3 randArr=random.randn(2,3); 4 randMat=mat(randArr); 5 return randMat; 一种结果如下: 1 matrix([[ 0.3150869 , -0.02041996, -0.15361071], 2 [-0.75507988, 0.80393683, -0.31790917]])

C语言产生标准正态分布或高斯分布随机数

C语言 产生标准正态分布或高斯分布 随机数 产生正态分布或高斯分布的三种方法: 1. 运用中心极限定理(大数定理) 1 #include 2 #include 3 4 #define NSUM 25 5 6 double gaussrand() 7 { 8 double x = 0; 9 int i; 10 for(i = 0; i < NSUM; i++) 11 { 12 x += (double)rand() / RAND_MAX; 13 } 14 15 x -= NSUM / 2.0; 1

标准正态分布随机变量的倒数的分布

背景 看到有人在问这个问题,拿来算算. 自从有了CSDN-MarkDown之后,写博客舒服多了,尤其是数学公式部分. 原理 推荐的参考书是: Schaum's outline of Probability and Statistics, 3rd Edition, 2009; 科学出版社2002年翻译出版了该书的第二版,所以有中文版. Continuous Variables Theorem: Let X be a continous random variable with probabilit

T 分布(近似标准正态分布)

1.1      定义 定义:假设X服从标准正态分布N(0,1),Y服从 卡方分布,那么 的分布称为自由度为n的t分布,记为 . 分布密度函数 ,其中,Gam(x)为伽马函数. 可用于两组独立计量资料的假设检验. 由于在实际工作中,往往σ(总体方差)是未知的,常用s(样本方差)作为σ总体方差的估计值,为了与u变换(正态化变换)区别,称为t变换,统计量t 值的分布称为t分布.[u分布也叫标准正态分布] u变换:[(X-μ)/σ]转化成标准正态变量u,以使原来各种形态的正态分布都转换为μ=0,σ=1

Spring Security在标准登录表单中添加一个额外的字段

概述 在本文中,我们将通过向标准登录表单添加额外字段来实现Spring Security的自定义身份验证方案. 我们将重点关注两种不同的方法,以展示框架的多功能性以及我们可以使用它的灵活方式. 我们的第一种方法是一个简单的解决方案,专注于重用现有的核心Spring Security实现. 我们的第二种方法是更加定制的解决方案,可能更适合高级用例. 2. Maven设置 我们将使用Spring Boot启动程序来引导我们的项目并引入所有必需的依赖项. 我们将使用的设置需要父声明,Web启动器和安全

标准正态分布的累积密度函数

先是考虑把正态分布的那张表搞到程序中,通过查表的方式,小数点三位后面多出来的值使用公式来计算,代码如下 转自:http://my.oschina.net/jianfengz/blog/224256,感谢分享! private static double[][] normdist = { {0.5,0.504,0.508,0.512,0.516,0.5199,0.5239,0.5279,0.5319,0.5359}, {0.5398,0.5438,0.5478,0.5517,0.5557,0.55

spool命令、创建一个表,创建并且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站

  1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建表的权限,(2):有表空间 SQL> desc t4; 名称                                      是否为空? 类型 ----------------------------------------- -------- ------------------------

数据库基本增删改查与修改表结构

数据库基本增删改查 1. 增-添加/插入数据 insert into 插入哪张表,那些列,什么值, 语句:insert into 表名(列1,列2,列3)values (值1,值2,值3): 可以不按原列的顺序插入,也可以插入部分列,但是值与列要一一对应,不能混乱!!! 一次插入多行数据 : Insert into 表名(列1,列2)values (值1,值2),(值1,值2): 2. 改-更新数据 update 更新哪张表,哪些列,哪些值 语句:update 表名 set 列1=值1,列2=值