// g02ld Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; using System.IO; namespace NagDotNetExamples { public class G02LDE { static string datafile = "ExampleData/g02lde.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, ip, iscale, j, l, my, mz, n, orig; int ifail; Console.WriteLine("g02ld Example Program Results"); // Skip header in data file. sr.Reset(); // Read data values. sr.Reset(); ip = int.Parse(sr.Next()); my = int.Parse(sr.Next()); orig = int.Parse(sr.Next()); iscale = int.Parse(sr.Next()); n = int.Parse(sr.Next()); mz = int.Parse(sr.Next()); double[] ybar = new double[my]; double[,] yhat = new double[n, my]; double[] ystd = new double[my]; double[,] z = new double[n, mz]; int[] isz = new int[mz]; double[] xbar = new double[ip]; double[] xstd = new double[ip]; // Read prediction x-data for (i = 1; i <= n; i++) { sr.Reset(); for (j = 1; j <= mz; j++) { z[i - 1, j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } // Read elements of isz sr.Reset(); for (j = 1; j <= mz; j++) { isz[j - 1] = int.Parse(sr.Next()); } // Read parameter estimates l = (int)ip; if (orig != -1) { l = l + 1; } double[,] b = new double[l, my]; for (j = 1; j <= l; j++) { sr.Reset(); for (i = 1; i <= my; i++) { b[j - 1, i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } // Read means sr.Reset(); for (j = 1; j <= ip; j++) { xbar[j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } sr.Reset(); for (l = 1; l <= my; l++) { ybar[l - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } if (((orig == -1)) && ((iscale != -1))) { sr.Reset(); for (j = 1; j <= ip; j++) { xstd[j - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } sr.Reset(); for (l = 1; l <= my; l++) { ystd[l - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } } // Calculate predictions G02.g02ld(ip, my, orig, xbar, ybar, iscale, xstd, ystd, b, n, mz, isz, z, yhat, out ifail); if (ifail != 0) { Console.WriteLine("** g02ld failed with ifail = {0,5}", ifail); } else { X04.x04ca("G", "X", n, my, yhat, "YHAT", out ifail); } // } catch (Exception e) { Console.WriteLine(e.Message); Console.Write( "Exception Raised"); } } } }