// g02bx Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; using System.IO; namespace NagDotNetExamples { public class G02BXE { static string datafile = "ExampleData/g02bxe.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); int i, j, m, n; string weight = ""; int ifail; Console.WriteLine("g02bx Example Program Results"); // Skip heading in data file sr.Reset(); sr.Reset(); weight = sr.Next(); n = int.Parse(sr.Next()); m = int.Parse(sr.Next()); double[,] r = new double[m, m]; double[] std = new double[m]; double[,] v = new double[m, m]; double[] wt = new double[n]; double[,] x = new double[n, m]; double[] xbar = new double[m]; if (m >= 1 && n > 1) { if ((weight == "W") || (weight == "w")) { for (i = 1; i <= n; i++) { sr.Reset(); for (j = 1; j <= m; j++) { x[i - 1, j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } wt[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } else { for (i = 1; i <= n; i++) { sr.Reset(); for (j = 1; j <= m; j++) { x[i - 1, j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } } // G02.g02bx(weight, n, m, x, wt, xbar, std, v, r, out ifail); // if ((ifail == 0) || (ifail == 5)) { Console.WriteLine(" "); Console.Write(" {0}", " Means"); Console.WriteLine(" "); for (i = 1; i <= m; i++) { Console.Write(" {0,10:f4}", xbar[i - 1]); } Console.WriteLine(" "); Console.WriteLine(" "); Console.Write(" {0}", " Standard deviations"); Console.WriteLine(" "); for (i = 1; i <= m; i++) { Console.Write(" {0,10:f4}", std[i - 1]); } Console.WriteLine(" "); // // Print the correlation matrix // if (ifail == 5) { Console.WriteLine(" "); Console.Write(" {0}", " NOTE: some variances are zero"); } Console.WriteLine(" "); X04.x04ca("Upper", "Non-unit", m, m, r, " Correlation matrix", out ifail); Console.WriteLine(" "); } else { Console.WriteLine(" "); Console.WriteLine("** g02bx failed with ifail = {0,5}", ifail); } } else { Console.Write(" {0}{1,6}{2}{3,6}", "M or N is too large. M =", m, ", N =", n); } // } catch (Exception e) { Console.WriteLine(e.Message); Console.Write( "Exception Raised"); } } } }