插值算法-代码实现
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_打印操作
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…...
在vue中使用bing map 的小demo
1.注意事项(关于经纬度) 如果不转换成WGS84 标准的经纬度 bing map会报错 如果要在 Bing Maps 中使用中国地区的经纬度,需要先将其转换为 WGS84 标准的经纬度。你可以使用第三方的坐标转换服务,或者使用相关的 JavaScript 库进行…...
基于uni-app的埋点sdk设计
一、统计app激活状态 在App.vue 中 利用onShow生命周期验证 或者操作 onShow: function () { uni.showToast({ title: onShow }) }, 二、页面级别的统计 (进入页面、停留时长、手机系统信息、网络状态、页面路径、标题) 需要收集的数据 { &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的库对比(一共九个库): 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 (1)什么是xlrd模块? python操作excel主要用到xlrd和xlwt这两个库&…...
【学习笔记】R语言入门与数据分析1
数据分析 数据分析的过程: 数据采集 数据存储 数据分析 数据挖掘 数据可视化 进行决策 数据挖掘 数据量大 复杂度高,容忍一定的误差限 追求相关性而非因果性 数据可视化 直观明了 R语言介绍 R是免费的(开源软件、扩展性好)…...
MyBatis-Spring整合
引入Spring之前需要了解mybatis-spring包中的一些重要类; http://www.mybatis.org/spring/zh/index.html 什么是 MyBatis-Spring? MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。 知识基础 在开始使用 MyBatis-Spring 之前&#x…...
资深亚马逊运营实战技巧:跨境电商6大选品法
1、工具选品法 比如店雷达, 通过大数据分析工具选出来利基产品或者通过工具选出来利基的市场,然后再通过分析市场来得到产品。 以女装为例,通过大数据分析,全方位对市场需求、款式、质量等进行多维度判断,其中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的移植过程是将系统需要的文件和代码进行移植和裁剪,其移植的主要过程为: (1)官网上下载FreeRTOS源码:https://www.freertos.org/ (2)移植文件夹,在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的死信队列! 1、什么是死信 在 RabbitMQ 中充当主角的就是消息,在不同场景下,消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式,这些场景包括: 消息被拒绝访问&am…...
html、css、京东移动端静态页面,资源免费分享,可作为参考,提供InsCode在线运行演示
CSDN将我上传的免费资源私自变成VIP专享资源,且作为作者的我不可修改为免费资源,不可删除,寻找客服无果,很愤怒,(我发布免费资源就是希望大家能免费一起用、一起学习),接下来继续寻找…...
头歌-机器学习 第13次实验 特征工程——共享单车之租赁需求预估
第1关:数据探索与可视化 任务描述 本关任务:编写python代码,完成一天中不同时间段的平均租赁数量的可视化功能。 相关知识 为了完成本关任务,你需要掌握: 读取数据数据探索与可视化 读取数据 数据保存在./step1/…...
Unity 2D让相机跟随角色移动
相机跟随移动 最简单的方式通过插件Cinemachine 在窗口/包管理器选择全部找到Cinemachine,导入。然后在游戏对象/Cinemachine创建2D Camera。此时层级中创建一个2D相机。选中人物拖入检查器Follow。此时相机跟随人物移动。 修改相机视口距离 在检查器中Lens下调正…...
【面试题】s += 1 和 s = s + 1的区别
文章目录 1.问题2.发现过程3.解析 1.问题 以下两个程序真的完全等同吗? short s 0; s 1; short s 0; s s 1; 2.发现过程 初看s 1 和 s s 1好像是等价的,没有什么区别。很长一段时间内我也是这么觉得,因为当时学习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的接口架构风格中制定了一些规范,极大的简化了前后端对接的时间,以及增加了开发效率 安全性保证–使用https路径中带 api标识路径中带版本号数据即资源,通常使用名词操作请求方式决定操作资源…...
AI助力,程序员压力倍增?
讲动人的故事,写懂人的代码 你知道程序员现在在AI辅助编程时最头疼的事情是什么吗?就是怎么在改代码的时候保住小命。 大家都听过程序员因为工作太累导致过劳湿的事情。 无论是写新功能、修bug,还是更改系统配置,都得改代码。 现在有了AI的帮助,本应该轻松很多,为什么…...
LoRA微调
论文:LoRA: Low-Rank Adaptation of Large Language Models 实现:microsoft/LoRA: Code for loralib, an implementation of “LoRA: Low-Rank Adaptation of Large Language Models” (github.com) 摘要 自然语言处理的一个重要的开发范式包括&#…...
45.基于SpringBoot + Vue实现的前后端分离-驾校预约学习系统(项目 + 论文)
项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的驾校预约学习系统设计与实现管理工作…...
系统思考—时间滞延
“没有足够的时间是所有管理问题的一部分。”——彼得德鲁克 鱼和熊掌可以兼得,但并不能同时获得。在提出系统解决方案时,我们必须认识到并考虑到解决方案的实施通常会有必要的时间滞延。这种延迟有时比我们预想的要长得多,特别是当方案涉及…...
SSM项目转Springboot项目
SSM项目转Springboot项目 由于几年前写的一个ssm项目想转成springboot项目,所以今天倒腾了一下。 最近有人需要毕业设计转换一下,所以我有时间的话可以有偿帮忙转换,需要的私信我或+v:Arousala_ 首先创建一个新的spr…...
VUE3.0对比VUE2.0
vue3.0 与 vue2.0的不同之处有以下几点: 数据响应式原理 3.0基于Proxy的代理实现监测,vue2.0是基于Object.defineProperty实现监测。 vue2.0 通过Object.defineProperty,每个数据属性被定义成可观察的,具有getter和setter方法&…...
车内AR互动娱乐解决方案,打造沉浸式智能座舱体验
美摄科技凭借其卓越的创新能力,为企业带来了革命性的车内AR互动娱乐解决方案。该方案凭借自研的AI检测和渲染引擎,打造出逼真的数字形象,不仅丰富了车机娱乐内容,更提升了乘客与车辆的互动体验,让每一次出行都成为一场…...
OR36 链表的回文结构
描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 1->…...
【译】微调与人工引导: 语言模型调整中的 SFT 和 RLHF
原文地址:Fine-Tuning vs. Human Guidance: SFT and RLHF in Language Model Tuning 本文主要对监督微调(SFT, Supervised Fine Tuning )和人类反馈强化学习(RLHF, Reinforcement Learning from Human Feedback)进行简…...
kylin java.io.IOException: error=13, Permission denied
linux centos7.8 error13, Permission denied_linux open error13-CSDN博客 chmod -R 777 /home/zengwenfeng/kkFileView-4.2.1 2024-04-15 13:15:17.416 WARN 3400 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager : An I/O error prevents us to determine…...
常州做网站的公司/上海企业推广
C - Putting Boxes Together 思路: 求带权中位数 用树状数组维护修改 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc.h> using namespace std; #define fi first #define se second #define…...
推广做网站怎么样/百度搜索大数据查询
除了基本操作符中所讲的运算符,Swift还有很多复杂的高级运算符,包含了C语和Objective-C中的位运算符和移位运算。 不同于C语言中的数值计算。Swift的数值计算默认是不可溢出的。溢出行为会被捕获并报告为错误。你是有益的?好吧,你…...
做网站设计师/点击器原理
鲜嫩多汁的玉米,最近老妈是成袋往家里领,每天早餐的时候,她都会煮上2个,清甜又美味。可是再好吃的东西,老是一个味,吃到后面,大家都不怎么爱吃了。玉米是一种营养非常好的,最常吃的粗…...
中国最大免费h5游戏源码网站/百度云盘登录入口
因为Mac系统是基于UNIX系统的,因此可以在“终端”中输入一些UNIX指令来操作Mac系统。比如:新建文件\文件夹、打开文件\文件夹 常用的UNIX指令:(需要经常使用才不容易忘记) ls –l列出当前目录下的所有内容(文件\文件夹)…...
网站扁平化结构和树形结构/网络服务有哪些
一、修改文件所有者 chown newowner 文件/目录 改变所有者 chown newowner:newgroup文件/目录改变所有者和所在组 -R 如果是目录则使其下所有子文件或目录递归生效 案列1:请将/home/aa.txt文件的所有者修改成yaya 案列2:请将/home/zhangsan目录…...
网站怎样制作/重庆seo网站建设
找来找去找得到的好的Spider也就JSpider了。JSpider地址:http://j-spider.sourceforge.net/;最后更新还在2003年;上面有一百多页的user manual,但对于做开发来说可能还是不够。以前主要阅读过geoserver/geotools,这几天…...