永发信息网

跪求C# 线性插值算法代码

答案:2  悬赏:20  手机版
解决时间 2021-12-29 06:22
输入两个数组x和y,x和y一一对应,经过线性插值,把中间的数补全后(xx数组为1.87到2.091之间所有的数,间隔为0.001),输出新的数组xx和yy.
double[] x={1.87, 1.922, 1.969, 2.003, 2.039, 2.091};
double[] y = { 3323967,3323993 ,3324015 ,3324031 ,3324049,3324077};

代码如下,不知对不对。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
public static void Interpolation(double[] x, double[] y,out double[] xx,out double[] yy )///输入数组x和y,输出插值后的新数组xx和yy。
{
int m = x.Length;
int n = (int)((x[m-1] - x[0]) / 0.001);//强制转换,double转int类型。数组xx和yy的长度为n。
xx = new double[n];//这里不能用double xx = new double[n],因为out函数的原因。
yy = new double[n];

//求数组xx
xx[0] = x[0];
for (int i = 1; i < xx.Length; i++)
{
xx[i] = x[0] + 0.001*i;
}
//求数组yy
int k = 0;
for (int i = k; i < xx.Length; i++)
{
for (int j = 0; j < m - 1; j++)
{
if (xx[i] >= x[j] && xx[i] < x[j + 1])
{
yy[i] = (y[j + 1] - y[j]) * (xx[i] - x[j]) / (x[j + 1] - x[j]) + y[j];
k = i;
}
}
}
}
}

}
大神顺便帮忙用控制台写下验算的代码,验算代码的正确性。调用上面“Interpolation”
最佳答案
插值只见过根据权值算结果的没见过你这种根据结果算权值的。 二次方插值result=(1- t)p0 + tp1
全部回答
/// ///分段线性插值,将一组数插值为所需点数 /// ///待插值的数据数组 ///插值点数 ///插值后的数据数组 public static double[] interpolation(double[] datain,int n) { double[] dataout = new double[n]; int lenin = datain.length; double[] a = new double[lenin]; double[] divin = new double[lenin]; double[] divout = new double[n]; divin[0] = 0; for (int i = 1; i < lenin; i++) { divin[i] = divin[i - 1] + 1; } divout[0] = 0; for (int i = 1; i < n; i++) { divout[i] = divout[i - 1] + lenin / convert.todouble(n); } int k = 0; for (int i = k; i < n; i++) { for (int j = 0; j < lenin - 1; j++) { if (divout[i] >= divin[j] && divout[i] < divin[j + 1]) { dataout[i] = (datain[j + 1] - datain[j]) * (divout[i] - divin[j]) / (divin[j + 1] - divin[j]) + datain[j]; k = i; } } } return dataout; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题With a label _______
英灵殿入口在哪里
父亲是北京的母亲是外地的有一私生子怎么上北
梦见窗外下雨
单选题“金无足赤,人无完人”。对这句话理解
笔记本电脑win10系统玩刺客信条画面闪屏
为何华硕路由器价格高
穿越宠文男主对别人冷酷对女主体贴的类似粘人
单选题当亚欧大陆中心气压为1036百帕时,下列
男牛女兔
莱芜市大润发超市平均每天客流量多少??
请问怎么用PS把JPG格式的图片变小...
将5名学生分配到甲、乙两个宿舍,每个宿舍至
怎样用电脑打化学方程式啊?
while stocks last是什么意思
推荐资讯
怎样才能练好嗓子
套话什么意思
One of the most wonderful things about hav
萍乡市国土资源局湘东地质矿产分局地址在什么
阳江十里银滩好玩吗
软膜天花灯带和灯管区别
梦见自己变成龙,凤凰杀了其他两只神兽又来追
执行力怎么形容
陈列是什么意思
梦溪笔谈·雁荡山阅读答案
哪家旅行社好
十三亿分之一用英文怎么表示
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?