当前位置: 首页 > news >正文

插值算法-代码实现

1、

import java.util.HashMap;
import java.util.Map;public class Interpolation {public static void main(String[] args) {// 定义给定的 XML 字段值Map<String, double[]> xmlValues = new HashMap<>();xmlValues.put("faceSize", new double[]{1000, 1500});xmlValues.put("section1", new double[]{0.2, 0.3, 0.4});xmlValues.put("section2", new double[]{0.25, 0.35, 0.5});// 调用插值函数double interpolatedSection = interpolate(xmlValues, 1250);// 打印插值结果System.out.println("Interpolated section: " + interpolatedSection);}public static double interpolate(Map<String, double[]> xmlValues, double targetFaceSize) {// 获取 faceSize 数组double[] faceSizes = xmlValues.get("faceSize");// 获取 section1、section2 数组double[] section1 = xmlValues.get("section1");double[] section2 = xmlValues.get("section2");// 找到目标 faceSize 对应的索引int index1 = 0;int index2 = 1;// 执行线性插值double section1Interpolated = interpolateLinear(faceSizes[index1], section1[index1], faceSizes[index2], section1[index2], targetFaceSize);double section2Interpolated = interpolateLinear(faceSizes[index1], section2[index1], faceSizes[index2], section2[index2], targetFaceSize);// 计算 section 的平均值return (section1Interpolated + section2Interpolated) / 2;}// 线性插值函数public static double interpolateLinear(double x1, double y1, double x2, double y2, double x) {return y1 + (y2 - y1) * (x - x1) / (x2 - x1);}
}import java.util.HashMap;
import java.util.Map;public class Interpolation {public static void main(String[] args) {// 定义给定的 XML 字段值Map<String, double[]> xmlValues = new HashMap<>();xmlValues.put("faceSize", new double[]{1000, 1500});xmlValues.put("section1", new double[]{0.2, 0.3, 0.4});xmlValues.put("section2", new double[]{0.25, 0.35, 0.5});xmlValues.put("weight", new double[]{0, 0.5, 1});// 调用插值函数double[] interpolatedValues = interpolate(xmlValues, 1250);// 打印插值结果System.out.println("Interpolated section: " + interpolatedValues[0]);System.out.println("Interpolated weight: " + interpolatedValues[1]);}public static double[] interpolate(Map<String, double[]> xmlValues, double targetFaceSize) {// 获取 faceSize 数组double[] faceSizes = xmlValues.get("faceSize");// 获取 section1、section2 和 weight 数组double[] section1 = xmlValues.get("section1");double[] section2 = xmlValues.get("section2");double[] weight = xmlValues.get("weight");// 找到目标 faceSize 对应的两个索引int index1 = -1;int index2 = -1;for (int i = 0; i < faceSizes.length - 1; i++) {if (targetFaceSize >= faceSizes[i] && targetFaceSize <= faceSizes[i + 1]) {index1 = i;index2 = i + 1;break;}}// 执行线性插值double section1Interpolated = interpolateLinear(faceSizes[index1], section1[index1], faceSizes[index2], section1[index2], targetFaceSize);double section2Interpolated = interpolateLinear(faceSizes[index1], section2[index1], faceSizes[index2], section2[index2], targetFaceSize);double weightInterpolated = interpolateLinear(faceSizes[index1], weight[index1], faceSizes[index2], weight[index2], targetFaceSize);return new double[]{(section1Interpolated + section2Interpolated) / 2, weightInterpolated};}// 线性插值函数public static double interpolateLinear(double x1, double y1, double x2, double y2, double x) {return y1 + (y2 - y1) * (x - x1) / (x2 - x1);}
}

2、

#include <iostream>
#include <map>// 线性插值函数
double interpolateLinear(double x1, double y1, double x2, double y2, double x) {return y1 + (y2 - y1) * (x - x1) / (x2 - x1);
}// 插值函数
double interpolate(std::map<std::string, double*> xmlValues, double targetFaceSize) {// 获取 faceSize 数组double* faceSizes = xmlValues["faceSize"];// 获取 section1、section2 数组double* section1 = xmlValues["section1"];double* section2 = xmlValues["section2"];// 找到目标 faceSize 对应的索引int index1 = 0;int index2 = 1;// 执行线性插值double section1Interpolated = interpolateLinear(faceSizes[index1], section1[index1], faceSizes[index2], section1[index2], targetFaceSize);double section2Interpolated = interpolateLinear(faceSizes[index1], section2[index1], faceSizes[index2], section2[index2], targetFaceSize);// 计算 section 的平均值return (section1Interpolated + section2Interpolated) / 2;
}int main() {// 定义给定的 XML 字段值std::map<std::string, double*> xmlValues;double faceSizes[] = {1000, 1500};double section1[] = {0.2, 0.3, 0.4};double section2[] = {0.25, 0.35, 0.5};xmlValues["faceSize"] = faceSizes;xmlValues["section1"] = section1;xmlValues["section2"] = section2;// 调用插值函数double interpolatedSection = interpolate(xmlValues, 1250);// 打印插值结果std::cout << "Interpolated section: " << interpolatedSection << std::endl;return 0;
}

相关文章:

插值算法-代码实现

1、 import java.util.HashMap; import java.util.Map;public class Interpolation {public static void main(String[] args) {// 定义给定的 XML 字段值Map<String, double[]> xmlValues new HashMap<>();xmlValues.put("faceSize", new double[]{10…...

113.PyQt5_QtPrintSupport_打印操作

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…...

在vue中使用bing map 的小demo

1.注意事项&#xff08;关于经纬度&#xff09; 如果不转换成WGS84 标准的经纬度 bing map会报错 如果要在 Bing Maps 中使用中国地区的经纬度&#xff0c;需要先将其转换为 WGS84 标准的经纬度。你可以使用第三方的坐标转换服务&#xff0c;或者使用相关的 JavaScript 库进行…...

基于uni-app的埋点sdk设计

一、统计app激活状态 在App.vue 中 利用onShow生命周期验证 或者操作 onShow: function () { uni.showToast({ title: onShow }) }, 二、页面级别的统计 &#xff08;进入页面、停留时长、手机系统信息、网络状态、页面路径、标题&#xff09; 需要收集的数据 { &quo…...

Python学习笔记(三)

一、使用朴素贝叶斯制作鸢尾花数据模型 from sklearn.preprocessing import StandardScaler from sklearn.naive_bayes import MultinomialNB from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.feature_extraction…...

Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!

0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比&#xff08;一共九个库&#xff09;&#xff1a; 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 &#xff08;1&#xff09;什么是xlrd模块&#xff1f; python操作excel主要用到xlrd和xlwt这两个库&…...

【学习笔记】R语言入门与数据分析1

数据分析 数据分析的过程&#xff1a; 数据采集 数据存储 数据分析 数据挖掘 数据可视化 进行决策 数据挖掘 数据量大 复杂度高&#xff0c;容忍一定的误差限 追求相关性而非因果性 数据可视化 直观明了 R语言介绍 R是免费的&#xff08;开源软件、扩展性好&#xff09;…...

MyBatis-Spring整合

引入Spring之前需要了解mybatis-spring包中的一些重要类&#xff1b; http://www.mybatis.org/spring/zh/index.html 什么是 MyBatis-Spring&#xff1f; MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。 知识基础 在开始使用 MyBatis-Spring 之前&#x…...

资深亚马逊运营实战技巧:跨境电商6大选品法

1、工具选品法 比如店雷达&#xff0c; 通过大数据分析工具选出来利基产品或者通过工具选出来利基的市场&#xff0c;然后再通过分析市场来得到产品。 以女装为例&#xff0c;通过大数据分析&#xff0c;全方位对市场需求、款式、质量等进行多维度判断&#xff0c;其中SKU销量…...

bugku-web-需要管理员

页面源码 <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>404 Not Found</title> </head> <body> <div idmain><i> <h2>Something error:</h2…...

STM32之FreeRTOS移植

1.FreeRTOS的移植过程是将系统需要的文件和代码进行移植和裁剪&#xff0c;其移植的主要过程为&#xff1a; &#xff08;1&#xff09;官网上下载FreeRTOS源码&#xff1a;https://www.freertos.org/ &#xff08;2&#xff09;移植文件夹&#xff0c;在portable文件夹中只需…...

SpringBoot实用开发(十四)-- 消息(Message)的简单认识

目录 1.消息的概念 2.Java处理消息的标准规范 3.JMS 4.AMQP 5.MQTT 1.消息的概念 广义角度来说,消息其实就是信息,但是和信息又有所不同。信息通常被定义为一组数据,而消息除了具有数据的特征之外,还有...

【Spring Boot 源码学习】SpringApplication 的 run 方法核心流程介绍

《Spring Boot 源码学习系列》 SpringApplication 的 run 方法核心流程介绍 一、引言二、往期内容三、主要内容3.1 run 方法源码初识3.2 引导上下文 BootstrapContext3.3 系统属性【java.awt.headless】3.4 早期启动阶段3.5 准备和配置应用环境3.6 打印 Banner 信息3.7 新建应用…...

如何保证消息不丢失?——使用rabbitmq的死信队列!

如何保证消息不丢失?——使用rabbitmq的死信队列&#xff01; 1、什么是死信 在 RabbitMQ 中充当主角的就是消息&#xff0c;在不同场景下&#xff0c;消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式&#xff0c;这些场景包括&#xff1a; 消息被拒绝访问&am…...

html、css、京东移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示

CSDN将我上传的免费资源私自变成VIP专享资源&#xff0c;且作为作者的我不可修改为免费资源&#xff0c;不可删除&#xff0c;寻找客服无果&#xff0c;很愤怒&#xff0c;&#xff08;我发布免费资源就是希望大家能免费一起用、一起学习&#xff09;&#xff0c;接下来继续寻找…...

头歌-机器学习 第13次实验 特征工程——共享单车之租赁需求预估

第1关&#xff1a;数据探索与可视化 任务描述 本关任务&#xff1a;编写python代码&#xff0c;完成一天中不同时间段的平均租赁数量的可视化功能。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 读取数据数据探索与可视化 读取数据 数据保存在./step1/…...

Unity 2D让相机跟随角色移动

相机跟随移动 最简单的方式通过插件Cinemachine 在窗口/包管理器选择全部找到Cinemachine&#xff0c;导入。然后在游戏对象/Cinemachine创建2D Camera。此时层级中创建一个2D相机。选中人物拖入检查器Follow。此时相机跟随人物移动。 修改相机视口距离 在检查器中Lens下调正…...

【面试题】s += 1 和 s = s + 1的区别

文章目录 1.问题2.发现过程3.解析 1.问题 以下两个程序真的完全等同吗&#xff1f; short s 0; s 1; short s 0; s s 1; 2.发现过程 初看s 1 和 s s 1好像是等价的&#xff0c;没有什么区别。很长一段时间内我也是这么觉得&#xff0c;因为当时学习c语言的时候教科书…...

ARM的学习

点亮流水灯 .text .global _start _start: 使能GPIOE的外设时钟 RCC_MP_AHB4ENSETR 0x50000a28 [4]->1LDR R0,0X50000A28 指定基地址LDR R1,[R0] 将寄存器数据读取出来保存到R1中ORR R1,R1,#(0x3<<4) [4]设置为1ORR R1,R1,#(0x3<<5) [5]设置为1STR …...

Restful API接口规范(以Django为例)

Restful API接口规范(以Django为例) Restful API的接口架构风格中制定了一些规范&#xff0c;极大的简化了前后端对接的时间&#xff0c;以及增加了开发效率 安全性保证–使用https路径中带 api标识路径中带版本号数据即资源&#xff0c;通常使用名词操作请求方式决定操作资源…...

丹青幻境实战教程:如何用‘避讳’精准剔除AI常见畸变(手指/结构错误)

丹青幻境实战教程&#xff1a;如何用‘避讳’精准剔除AI常见畸变&#xff08;手指/结构错误&#xff09; “见微知著&#xff0c;凝光成影。执笔入画&#xff0c;神游万象。” 丹青幻境 是一款基于 Z-Image 架构与 Cosplay LoRA 历练卷轴打造的数字艺术终端。它告别了冷硬的科技…...

RWKV7-1.5B-g1a参数实战:top_p=0.3下稳定输出质量实测报告

RWKV7-1.5B-g1a参数实战&#xff1a;top_p0.3下稳定输出质量实测报告 1. 模型简介 rwkv7-1.5B-g1a是基于RWKV-7架构的多语言文本生成模型&#xff0c;特别适合基础问答、文案续写、简短总结和轻量中文对话场景。作为一款轻量级模型&#xff0c;它在保持较高生成质量的同时&am…...

Flutter 在智能家居应用开发中的实践与优化

引言 随着物联网技术的快速发展,智能家居已成为现代生活的重要组成部分。用户通过移动应用控制家庭设备的需求日益增长,这要求开发高效、跨平台的应用解决方案。Flutter 作为 Google 推出的开源 UI 框架,凭借其跨平台能力(支持 Android 和 iOS)、热重载特性和丰富的 widg…...

三步掌握百度网盘秒传:永久分享文件不再失效

三步掌握百度网盘秒传&#xff1a;永久分享文件不再失效 【免费下载链接】rapid-upload-userscript-doc 秒传链接提取脚本 - 文档&教程 项目地址: https://gitcode.com/gh_mirrors/ra/rapid-upload-userscript-doc 你是否曾经遇到过这样的困扰&#xff1a;辛苦整理的…...

太空算力:下一个万亿蓝海赛道

当我们谈论算力时&#xff0c;脑海中浮现的往往是数据中心里密密麻麻的服务器机柜&#xff0c;或者高性能计算机嗡嗡作响的散热风扇。但你是否想过&#xff0c;有一天&#xff0c;算力也可以“搬”到太空去&#xff1f;2026年4月3日&#xff0c;北京经济技术开发区通明湖会展中…...

扎心了,3月电车销量回升,未改一季度跌幅远超油车的结果!油车仍然赢了!

当电车行业都宣传它们在3月份大涨&#xff0c;再次主导国内汽车市场之时&#xff0c;分析机构总结了今年一季度的销量&#xff0c;却发现一季度的真正赢家仍然是油车&#xff0c;而且是大赢&#xff0c;电车的跌幅远超燃油车&#xff0c;导致按季度计算燃油车渗透率超过五成。今…...

避坑指南:Unity国内版用Verdaccio搭私有包服务器,这个License问题千万别忽略

Unity国内版私有包服务器搭建避坑指南&#xff1a;政策解读与风险评估 最近两年&#xff0c;越来越多的Unity开发者开始关注私有包服务器的搭建。Verdaccio作为轻量级npm私有仓库解决方案&#xff0c;确实为团队协作提供了便利。但很多国内开发者忽略了一个关键问题——Unity中…...

【最后72小时解锁权限】:2026奇点大会AI对话机器人Benchmark基准测试平台访问密钥(含OpenChatBench v3.1、C-DialEval 2026、中文司法对话挑战集)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AI对话机器人 2026奇点智能技术大会(https://ml-summit.org) 本届大会聚焦于对话式AI的范式跃迁——从任务导向型助手迈向具备持续记忆、跨轮次意图推理与多模态语境感知的“共生智能体”。核心展示平台基于开源框架Conve…...

SQL如何统计分组内满足条件的唯一项_COUNT与DISTINCT

最稳妥的做法是COUNT(DISTINCT CASE WHEN ... THEN x END)。它在聚合内部完成条件过滤、去重和计数&#xff0c;兼容主流数据库&#xff0c;避免WHERE提前删行导致分组数据丢失或子查询逻辑错误。GROUP BY 里怎么数“满足条件的去重值”直接说结论&#xff1a;COUNT(DISTINCT C…...

PHP final关键字怎么用?

在 PHP 中&#xff0c;final 关键字可以防止 class 和 function 被修改或覆盖。它有助于保护代码的重要部分&#xff0c;确保在进行修改时不会意外破坏它们。 final 关键字用于 class 的定义、class 中的 method&#xff0c;以及 class 的 constant property 的定义。 final …...