栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

拉格朗日插值(Java实现)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

拉格朗日插值(Java实现)

import java.util.Scanner;

//拉格朗日插值
public class Lagrange {
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		//被插函数:y=x^1/2........y(100)=10,y(121)=11,y(144)=12,y(169)=13,y(400)=20
		//拉格朗日函数:y=10B0(x)+11B1(x)+12B2(x)+13B3(x)+20B4(x);
		double[] X=new double[5];
		double[] Y=new double[5];
		X[0]=100;
		X[1]=121;
		X[2]=144;
		X[3]=169;
		X[4]=400;
		Y[0]=10;
		Y[1]=11;
		Y[2]=12;
		Y[3]=13;
		Y[4]=20;
		double[] L=new double[5];
		double x;
		System.out.println("请输入x:");
		x=scan.nextDouble();
		for(int i=0;i<5;++i) {
			L[i]=1;
			for(int j=0;j<5;++j) {
				if(j!=i) {
					L[i]*=(x-X[j])/(X[i]-X[j]);
				}
			}
		}
		double ans=0;
		for(int i=0;i<5;++i) {
			ans+=L[i]*Y[i];
		}
		System.out.println(ans);
	}
}

请输入x:
289
17.106706617365816

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号