/// <summary> /// 正态分布 /// </summary> /// <param name="baseNet"></param> /// <param name="row"></param> /// <param name="column"></param> /// <returns></returns> public static double[,] NormalDistribution(this IBaseNet baseNet, int row, int column) { double E = 0; //正态分布期望 double D = 1; //正态分布方差 int count = row * column; double[] ZTFBArr = new double[count]; for (int i = 0; i < count; i++) { double?result = GetZTFB(u1.NextDouble(), u1.NextDouble(), E, D); if (result != null) { ZTFBArr[i] = (double)result; } } var w = new double[row, column]; for (int r = 0; r < row; r++) { for (int c = 0; c < column; c++) { w[r, c] = ZTFBArr[r * column + c] * 0.01; } } return(w); }
private bool CheckAndDispose(IBaseNet sender) { switch (perms.DispatchPermission) { case Permission.Specific: if (!perms.DispatchContains(IPAddress.Parse(sender.RemoteIP))) { Log.WriteLine($"[{sender.RemoteIP}] NOT ENOUGH DISPATCH PERMISSIONS"); return(true); } break; case Permission.None: Log.WriteLine($"[{sender.RemoteIP}] NOT ENOUGH DISPATCH PERMISSIONS"); return(true); } return(false); }
public static double[,] Distribution(this IBaseNet bsetNet, int row, int column) { int count = row * column; double[] ZTFBArr = new double[count]; Random u1 = new Random(); for (int i = 0; i < count; i++) { ZTFBArr[i] = u1.NextDouble(); } var w = new double[row, column]; for (int r = 0; r < row; r++) { for (int c = 0; c < column; c++) { w[r, c] = ZTFBArr[r * column + c]; } } return(w); }