Keyword: フレネル積分
概要
本サンプルはフレネル積分 S(x)を求めるC#によるサンプルプログラムです。 本サンプルは引数xを読み込み、xの各値について以下に示されるフレネル積分を求めて出力します。
※本サンプルはnAG Library for .NETに含まれる関数 s20ac() のExampleコードです。本サンプル及び関数の詳細情報は s20ac のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
入力データ
(本関数の詳細はs20ac のマニュアルページを参照)- 1行目はタイトル行で読み飛ばされます。
- 2〜12行目にフレネル積分の引数xの値を指定しています。
出力結果
(本関数の詳細はs20ac のマニュアルページを参照)| この出力例をダウンロード |
s20ac Example Program Results
x y
0.000e+000 0.000e+000
5.000e-001 6.473e-002
1.000e+000 4.383e-001
2.000e+000 3.434e-001
4.000e+000 4.205e-001
5.000e+000 4.992e-001
6.000e+000 4.470e-001
8.000e+000 4.602e-001
1.000e+001 4.682e-001
-1.000e+000 -4.383e-001
1.000e+003 4.997e-001
- 5〜15行目に引数xの値とフレネル積分の値が出力されています。
ソースコード
(本関数の詳細はs20ac のマニュアルページを参照)
※本サンプルソースコードは .NET環境用の科学技術・統計計算ライブラリである「nAG Library for .NET」の関数を呼び出します。
サンプルのコンパイル及び実行方法
| このソースコードをダウンロード |
// s20ac Example Program Text
// C# version, nAG Copyright 2008
using System;
using NagLibrary;
namespace NagDotNetExamples
{
public class S20ACE
{
static bool defaultdata = true;
static string datafile = "";
static void Main(String[] args)
{
if (args.Length == 1)
{
defaultdata = false;
datafile = args[0];
}
StartExample();
}
public static void StartExample()
{
try
{
PrintManager.Warning = new PrintManager.MessageLogger(discardmessage);
DataReader sr = null;
if (defaultdata)
{
sr = new DataReader("exampledata/s20ace.d");
}
else
{
sr = new DataReader(datafile);
}
double x, y; Console.WriteLine("s20ac Example Program Results");
// Skip heading in data file
sr.Reset();
Console.WriteLine("");
Console.WriteLine(" {0}", " x y");
Console.WriteLine("");
try
{
while (true)
{
sr.Reset();
x = double.Parse(sr.Next());
//
y = S.s20ac(x);
//
Console.WriteLine(" {0,12:e3}{1,12:e3}", x, y);
}
}
catch
{
}
//
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine("Exception Raised");
}
}
static void discardmessage(String message)
{
}
}
}
