你比方说下边这个程序的运行结果怎么写入桌面的txt文件夹using System;
using CSharp.Algorithm;namespace CSharp.Algorithm
{
class Interpolation
{
public static double GetValueLagrange3(int n, double x0, double xStep, double[] y, double t)
{
int i, j, k, m;
double z, s, xi, xj; // 初值
z = 0.0; // 特例处理
if (n < 1)
return (z);
if (n == 1)
{
z = y[0];
return (z);
}
if (n == 2)
{
z = (y[1] * (t - x0) - y[0] * (t - x0 - xStep)) / xStep;
return (z);
} // 开始插值
if (t <= x0 + xStep)
{
k = 0;
m = 2;
}
else if (t >= x0 + (n - 3) * xStep)
{
k = n - 3;
m = n - 1;
}
else
{
i = (int)((t - x0) / xStep) + 1; if (Math.Abs(t - x0 - i * xStep) >= Math.Abs(t - x0 - (i - 1) * xStep))
{
k = i - 2;
m = i;
}
else
{
k = i - 1;
m = i + 1;
}
} z = 0.0;
for (i = k; i <= m; i++)
{
s = 1.0;
xi = x0 + i * xStep; for (j = k; j <= m; j++)
{
if (j != i)
{
xj = x0 + j * xStep;
// 抛物线插值公式
s = s * (t - xj) / (xi - xj);
}
} z = z + s * y[i];
} return (z);
} static void Main(string[] args)
{
// 数据
int n = 2;
double t0 = 10887;
double tstep = 30;
double[] GPSX = { 116.3586, 116.3588 };
double[] GPSY = { 39.9978, 39.9934 }; for (int i = 0; i < 31; ++i)
{
double[] t1 = { t0 + i };
double[] t2 = { t0 + i }; // 插值运算
for (int j = 0; j < t1.Length; ++j)
{
double GPSXt = Interpolation.GetValueLagrange3(n, t0, tstep, GPSX, t1[j]);
Console.WriteLine("f(" + t1[j]+ ") = " + GPSXt);
for (int k = 0; k < t2.Length; ++k)
{
double GPSYt = Interpolation.GetValueLagrange3(n, t0, tstep, GPSY, t2[k]);
Console.WriteLine("f(" + t2[k] + ") = " + GPSYt);
Console.Read();
}
}
}
}
}
}
using CSharp.Algorithm;namespace CSharp.Algorithm
{
class Interpolation
{
public static double GetValueLagrange3(int n, double x0, double xStep, double[] y, double t)
{
int i, j, k, m;
double z, s, xi, xj; // 初值
z = 0.0; // 特例处理
if (n < 1)
return (z);
if (n == 1)
{
z = y[0];
return (z);
}
if (n == 2)
{
z = (y[1] * (t - x0) - y[0] * (t - x0 - xStep)) / xStep;
return (z);
} // 开始插值
if (t <= x0 + xStep)
{
k = 0;
m = 2;
}
else if (t >= x0 + (n - 3) * xStep)
{
k = n - 3;
m = n - 1;
}
else
{
i = (int)((t - x0) / xStep) + 1; if (Math.Abs(t - x0 - i * xStep) >= Math.Abs(t - x0 - (i - 1) * xStep))
{
k = i - 2;
m = i;
}
else
{
k = i - 1;
m = i + 1;
}
} z = 0.0;
for (i = k; i <= m; i++)
{
s = 1.0;
xi = x0 + i * xStep; for (j = k; j <= m; j++)
{
if (j != i)
{
xj = x0 + j * xStep;
// 抛物线插值公式
s = s * (t - xj) / (xi - xj);
}
} z = z + s * y[i];
} return (z);
} static void Main(string[] args)
{
// 数据
int n = 2;
double t0 = 10887;
double tstep = 30;
double[] GPSX = { 116.3586, 116.3588 };
double[] GPSY = { 39.9978, 39.9934 }; for (int i = 0; i < 31; ++i)
{
double[] t1 = { t0 + i };
double[] t2 = { t0 + i }; // 插值运算
for (int j = 0; j < t1.Length; ++j)
{
double GPSXt = Interpolation.GetValueLagrange3(n, t0, tstep, GPSX, t1[j]);
Console.WriteLine("f(" + t1[j]+ ") = " + GPSXt);
for (int k = 0; k < t2.Length; ++k)
{
double GPSYt = Interpolation.GetValueLagrange3(n, t0, tstep, GPSY, t2[k]);
Console.WriteLine("f(" + t2[k] + ") = " + GPSYt);
Console.Read();
}
}
}
}
}
}
System.IO命名空间下的FileStream类和StreamWrite类
实例代码:using System.IO;public class Program
{
static void Main()
{
//实例化文件流FileStream类对象
FileStream fs = new FileStream("txt文件路径",FileMode.Create);
//实例化读写器StreamWriter类对象
StreamWriter sw = new StreamWriter(fs);
sw.Write("内容"); //关闭读写器
sw.Close();
//关闭文件流
fs.Close();
}
}因为LZ的输出结果为数组,可以把以上代码放在for循环中,每产生一个结果,放入一次。
static void Main(string[] args)
{
int n = 2;
double t0 = 10887;
double tstep = 30;
double[] GPSX = { 116.3586, 116.3588 };
double[] GPSY = { 39.9978, 39.9934 };
System.IO.StreamWriter sw = new StreamWriter("文件路径");
for (int i = 0; i < 31; ++i)
{
double[] t1 = { t0 + i };
double[] t2 = { t0 + i }; // 插值运算
for (int j = 0; j < t1.Length; ++j)
{
double GPSXt = Interpolation.GetValueLagrange3(n, t0, tstep, GPSX, t1[j]);
sw.WriteLine("f(" + t1[j] + ") = " + GPSXt);
for (int k = 0; k < t2.Length; ++k)
{
double GPSYt = Interpolation.GetValueLagrange3(n, t0, tstep, GPSY, t2[k]);
sw.WriteLine("f(" + t2[k] + ") = " + GPSYt);
Console.Read();
}
}
}
sw.Close();
}
System.IO.File.AppendText(@"c:\temp\test.txt", content);
你可以第一次Create ,以后每次Append
http://msdn.microsoft.com/zh-cn/library/system.io.filemode%28v=VS.100%29.aspx
或者用StreamWriter
string content = "test text";
System.IO.File.AppendAllText(@"c:\temp\test.txt", content);