// g13cg Example Program Text // C# version, NAG Copyright 2008 using System; using NagLibrary; using System.Globalization; namespace NagDotNetExamples { public class G13CGE { static string datafile = "ExampleData/g13cge.d"; static void Main(String[] args) { if (args.Length == 1) { datafile = args[0]; } StartExample(); } public static void StartExample() { try { DataReader sr = new DataReader(datafile); double erlw, erup, rfse; int i, j, l, n, ng; int ifail; Console.WriteLine("g13cg Example Program Results"); // Skip heading in data file sr.Reset(); sr.Reset(); ng = int.Parse(sr.Next()); l = int.Parse(sr.Next()); n = int.Parse(sr.Next()); double[] er = new double[ng]; double[] rf = new double[l]; double[] stats = new double[4]; double[] xg = new double[ng]; double[] xyig = new double[ng]; double[] xyrg = new double[ng]; double[] yg = new double[ng]; if (ng > 0 && l > 0) { sr.Reset(); for (i = 1; i <= 4; i++) { stats[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } sr.Reset(); for (i = 1; i <= ng; i++) { xg[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); yg[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); xyrg[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); xyig[i - 1] = double.Parse(sr.Next(), CultureInfo.InvariantCulture); } // G13.g13cg(xg, yg, xyrg, xyig, ng, stats, l, n, er, out erlw, out erup, rf, out rfse, out ifail); // Console.WriteLine(""); if (ifail >= 0) { if (ifail != 0) { Console.WriteLine(" {0}{1,3}", "g13cg fails. ifail =", ifail); Console.WriteLine(""); } if (ifail != 1) { Console.WriteLine(" {0}", " Noise spectrum"); for (j = 1; j <= ng; j++) { Console.WriteLine(" {0,5}{1,16:f4}", j - 1, er[j - 1]); } Console.WriteLine(""); Console.WriteLine(" {0}", "Noise spectrum bounds multiplying factors"); Console.WriteLine(" {0}{1,10:f4}{2}{3,10:f4}", "Lower =", erlw, " Upper =", erup); Console.WriteLine(""); Console.WriteLine(" {0}", "Impulse response function"); Console.WriteLine(""); for (j = 1; j <= l; j++) { Console.WriteLine(" {0,5}{1,16:f4}", j - 1, rf[j - 1]); } Console.WriteLine(""); Console.WriteLine(" {0}{1,10:f4}", "Impulse response function standard error =", rfse); } } else { Console.WriteLine("** g13cg failed with ifail = {0,5}", ifail); } } // } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine("Exception Raised"); } } } }