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

多项式拟合之Math.NET Numerics

**多项式拟合

今日新认识的工业编程思想之传感器测温;热敏电阻测温如何计算通过温度计算阻值的方式:多项式拟合,通常C#中使用Math.NET Numerics

Math.NET Numerics 旨在为数值计算提供方法和算法 在科学、工程和日常使用中。涵盖的主题包括特殊功能、 线性代数, 概率模型, 随机数, 插值, 积分, 回归、优化问题等等。

Math.NET Numerics 是 Math.NET 计划的一部分,是 dnAnalytics 与 Math.NET Iridium 合并并取代两者的结果。 在 MIT 许可证下免费提供。 它面向 Microsoft .NET 5.0、.NET 4.6.1 和更高版本以及 .NET Standard 2.0 和更高。除了纯托管的实现之外,它还支持 本机硬件优化。有关完整详细信息,请参阅 Platform Support 。

doub![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2dbd9585acd04e71bc6d1c224c8a9e2a.png)
le[] temperatures = { -70, -60, -50, -40, -30, -20, 
                -10, 0, 10, 20, 30, 40,
                50, 60, 70, 80, 90, 100, 
                110, 120, 130, 140, 150, 200, 
                250, 300 };
            double[] resistances = { 68.27, 71.19, 74.24, 77.39, 80.56, 83.77, 
                87.04, 90.38,93.80, 97.31, 100.91, 104.60, 
                108.39, 112.28, 116.27, 120.36, 124.55, 128.85, 
                133.26,137.78, 142.40, 147.11, 151.91, 177.95, 
                208.00, 242.70 };

 // 将数据转为 Math.NET 的向量
            //using MathNet.Numerics;
            //using MathNet.Numerics.LinearAlgebra;
            var x = Vector<double>.Build.DenseOfArray(temperatures);
            var y = Vector<double>.Build.DenseOfArray(resistances);

            // 使用最小二乘法拟合一个多项式模型
            var polyFit = Fit.Polynomial(x.ToArray(), y.ToArray(), 3); // 3次多项式拟合

            // 显示拟合的多项式系数
            Console.WriteLine("Polynomial fit coefficients:");
            for (int i = 0; i < polyFit.Length; i++)
            {
                Console.WriteLine($"a{i}: {polyFit[i]}");
            }

            // 预测目标温度的电阻
            double targetTemperature = 25; // 目标温度
            double predictedResistance = 0;
            for (int i = 0; i < polyFit.Length; i++)
            {
                predictedResistance += polyFit[i] * Math.Pow(targetTemperature, i);
            }

            Console.WriteLine($"The estimated resistance at {targetTemperature}°C is: {predictedResistance} Ohms");
25摄氏度的结果

在这里插入图片描述


http://www.kler.cn/a/428598.html

相关文章:

  • 2025 OWASP十大智能合约漏洞
  • Ext2 文件系统:数字世界的基石,深度解码超时空存储魔法
  • 99.10 金融难点通俗解释:投资资本回报率(ROIC)
  • 【生产力工具】ChatGPT for Windows桌面版本安装教程
  • C++经典例题
  • maven 微服务项目多 包版本问题
  • [Maven]下载安装、使用与简介
  • 【框架】环境切换集成封装
  • CSS3 布局样式及其应用
  • 【机器学习】机器学习的基本分类-监督学习-岭回归(Ridge Regression)
  • 4.1模块化技术之函数,本地类
  • Flink 核心知识总结:窗口操作、TopN 案例及架构体系详解
  • 如何使用 Python 实现链表的反转?
  • C++_关于异常处理throw-try-catch
  • MATLAB 非重叠点云提取算法(92)
  • C++的一些经典算法
  • java 服务端tcp方式接收和推送数据到c++或者qt(亲测可用)
  • 机器学习经典算法
  • C# 的GDI风车控件
  • FFmpeg+Nginx+VLC打造M3U8M3U8点播
  • STM32MX 配置CANFD收发通讯
  • Java 并发舞台:多线程小精灵的奇幻冒险之旅
  • 第二十二天 TensorFlow基础
  • Android 常用倒计时技术和实现方式
  • element UI的Cascader 级联选择器在树形列表中编辑使用
  • 使用Excel的COUNTIFS和SUMIFS函数进行高级数据分析