sample6_13.cs
来自「C#的数值计算的几乎所有算法」· CS 代码 · 共 43 行
CS
43 行
/*
* 示例程序Sample6_13: Interpolation类的第一种边界条件的三次样条函数插值、微商与积分
*/
using System;
using CSharpAlgorithm.Algorithm;
namespace CSharpAlgorithm.Sample
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
// 数据
int n = 12;
double[] x = {0.52,8.0,17.95,28.65,50.65,104.6,156.6,260.7,364.4,468.0,507.0,520.0};
double[] y = {5.28794,13.84,20.2,24.9,31.1,36.5,36.6,31.0,20.9,7.8,1.5,0.2};
double[] t = {4.0,14.0,30.0,60.0,130.0,230.0,450.0,515.0};
// 微分
double[] dy = new double[n];
double[] ddy = new double[n];
dy[0] = 1.86548;
dy[n-1] = -0.046115;
// 插值运算
int m = 8;
double[] z = new double[m];
double[] dz = new double[m];
double[] ddz = new double[m];
double yt = Interpolation.GetValueSpline1(n, x, y, dy, ddy, m, t, z, dz, ddz);
Console.WriteLine("定积分值 = " + yt);
Console.WriteLine("\nt[i]\t\tz[i]\t\t\tdz[i]\t\t\tddz[i]\n");
for (int i=0; i<m; ++i)
{
Console.WriteLine(t[i] + "\t" + z[i] + "\t" + dz[i] + "\t" + ddz[i]);
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?