• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

插值程序问题

guolianghu 2010-05-17 11:16:28
一组数据x{1.1 1.2 1.5 1.5 1.5 2.0 3.5 4.0} 对应的值y{10.2 10.5 15.3 18.9 20.0 25 25.3 26},其中x中存在相同x值,分别对应不同的y值,怎样利用插值法编写出当x=1.8时的值,x=1.8时的值可能有多个.请高手用C#编写这段程序,不胜感激!
...全文
68 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yaazz 2010-06-30
需要先插值,LZ是不是漏掉一些条件信息
回复
guolianghu 2010-06-30
更正:
要求插值算法!以上各位的程序没体现插值的问题,你的x[i] == 1.8从哪来的,ys.Add(y[i])语句说明不了什么问题,问题没有解决.
回复
guolianghu 2010-06-30
要求插值算法!以上各位的程序没体现插值的问题,你的int i==1.8从哪来的,ys.Add(y[i])语句说明不了什么问题,问题没有解决.
回复
s8975565 2010-06-30
用Hash吧
回复
guolianghu 2010-06-30
没漏掉任何条件
回复
mayonglong 2010-05-17
[Quote=引用 1 楼 gxingmin 的回复:]
C# code
double []x=new double[]{1.1, 1.2 ,1.5, 1.5, 1.5, 2.0 ,3.5 ,4.0};
double[] y = new double[] { 10.2, 10.5, 15.3, 18.9, 20.0, 25, 25.3, 26 };

if (x.Length == y.Length)
……
[/Quote]

lz要求唯一??
回复
Justin-Liu 2010-05-17
没看明白说啥。。。
回复
gxingmin 2010-05-17
if (x[i] == 1.8) //1.8的所有y值
double类型比较,改成下面的似乎更好点
if (Math.Abs( x[i]- 1.8)<0.000001) //1.8的所有y值
回复
gxingmin 2010-05-17
double []x=new double[]{1.1, 1.2 ,1.5, 1.5, 1.5, 2.0 ,3.5 ,4.0};
double[] y = new double[] { 10.2, 10.5, 15.3, 18.9, 20.0, 25, 25.3, 26 };

if (x.Length == y.Length)
{
List<double> ys = new List<double>();
for (int i = 0; i < x.Length; i++)
{
if (x[i] == 1.8) //1.8的所有y值
{
ys.Add(y[i]);
}
}

}
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2010-05-17 11:16
社区公告

让您成为最强悍的C#开发者