newLISP数据拟合

有时候需要拟合数据,比如某周五的数据因故无法生成, 可以用下面的算法简单拟合。

计算前两周的周四,周五的环比(邻比), 两个邻比求平均后加1, 乘以 周四的数据,得到周五的数据。

用newLISP实现代码很简单:

参考下面的示例:

#!/usr/bin/newlisp

(define (adjacent-div a b)
  (div (sub b a) a))

(define (average a b)
  (div (add a b) 2))

(define (fitting a b c d e)
  (int (mul (add (average (adjacent-div a b) (adjacent-div c d)) 1) e))
		 )

(println (fitting 736500 743138 733101 720626 762747))
(println (fitting 743138 801841 720626 756950 759694))
(println (fitting 801841 914530 756950 895230 808846))

(exit)

最后结果是:

~$ ./b.lsp
759694
808846
939562
时间: 2024-12-15 20:38:40

newLISP数据拟合的相关文章

基于 移动最小二乘法(MLS) 的三维数据拟合

项目介绍: 1. 需要预测的数据: 2. 采用的权函数以及形函数: 3. 求解的形函数曲线结果: 4. 算法流程图: 5. 预测结果: x=[234 255 255 76 12];y=[162 242 176 54 55];z=[199 200 57 50 73]; 对应的预测结果为: >> MLS_Output Esti_ux = 53.3651 73.8599 54.2216 5.9668 9.0063 Esti_uy = 43.9818 77.5332 48.3499 5.2517 11

[数学建模(七)]使用MATLAB实现数据拟合

目录 1.线性最小二乘法 2.多项式拟合方法(polyfit) 3.最小二乘优化:lsqlin,lsqcurvefit,lsqnonlin,lsqnonneg 4.曲线拟合的用户图形界面求法(cftool) 1.线性最小二乘法 x=[19 25 31 38 44]'; y=[19.0 32.3 49.0 73.3 97.8]'; r=[ones(5,1),x.^2]; ab=r\y % if AB=C then B=A\C x0=19:0.1:44; y0=ab(1)+ab(2)*x0.^2;

python遗传算法实现数据拟合

python据说功能强大,触角伸到各个领域,网上搜了一下其科学计算和工程计算能力也相当强,具备各种第三方包,除了性能软肋外,其他无可指摘,甚至可以同matlab等专业工具一较高下. 从网上找了一个使用遗传算法实现数据拟合的例子学习了一下,确实Python相当贴合自然语言,终于编程语言也能说人话了,代码整体简洁.优雅.. 代码功能:给出一个隐藏函数 例如 z=x^2+y^2,生成200个数据,利用这200个数据,使用遗传算法猜测这些数据是什么公式生成的. (说的太直白,一点都不高大上) 代码如下:

用Python开始机器学习(3:数据拟合与广义线性回归)

机器学习中的预测问题通常分为2类:回归与分类. 简单的说回归就是预测数值,而分类是给数据打上标签归类. 本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误差进行分析. 本例中使用一个2次函数加上随机的扰动来生成500个点,然后尝试用1.2.100次方的多项式对该数据进行拟合.拟合的目的是使得根据训练数据能够拟合出一个多项式函数,这个函数能够很好的拟合现有数据,并且能对未知的数据进行预测. 代码如下: [python] view plain copy import matplot

基于MATLAB的多项式数据拟合方法研究-毕业论文

摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式曲线拟合的基本理论,对多项式数据拟合原理进行了全方面的理论阐述,同时也阐述了曲线拟合的基本原理及多项式曲线拟合模型的建立.具体记录了多项式曲线拟合的具体步骤,在建立理论的基础上具体实现多项式曲线的MATLAB实现方法的研究,采用MATLAB R2016a的平台对测量的数据进行多项式数据拟合,介绍了M

NTC温度采集之数据拟合——freemat软件实现

在stm32温度采样的过程中,使用到了NTC传感器,上拉接6.2K的电阻,信号给AD采样端口,通过NTC的电阻阻值表中,计算得到下面两端数据,在freemat中实现数据拟合,用于程序中温度和电压信号的转换. x = [1173.32 1203.94 1234.89 1266.77 1298.86 1331.75 1365.33 1399.55 1434.31 1469.54 1505.45 1541.66 1578.63 1616.24 1654.15 ];y=[60.000 59.000 58

newLISP数据引用

无法返回引用 数据传递包括两种,返回值和参数. 很可惜,newlisp的返回值只进行值拷贝,也就是返回副本,并没有方法返回引用. 那么看看参数吧,通过参数有两种方法传递引用,一种是通过使用单引号,比如: 单引号symbol传递参数引用 (define (change-list aList) (push 999 (eval aList))) (set 'data '(1 2 3 4 5)) ; note the quote ' in front of data (change-list 'data

高尔夫距离精度数据拟合——梯度下降法详解

Dataset 本文的数据集pga.csv包含了职业高尔夫球手的发球统计信息,包含两个属性:accuracy 和 distance.accuracy 精确度描述了命中球道( fairways hit)的比例,Distances 描述的是发球的平均距离.我们的目的是用距离来预测命中率.在高尔夫中,一个人发球越远,那么精度会越低. 对于很多机器学习算法来说,输入数据会先进行一些预处理,比如规范化,因为当计算两个特征向量的距离时,当一个特征的取值很大,那么这个距离会偏向取值较大的那个特征.因此此处的精

集八、自带各种数据拟合分析的可视化利器seaborn

本文的主要目的是记住最主要的函数,具体的用法还得查API文档. 首先导入包: %matplotlib inlineimport numpy as npimport pandas as pdfrom scipy import stats, integrateimport matplotlib.pyplot as pltimport seaborn as snssns.set(color_codes=True)np.random.seed(sum(map(ord, "distributions&qu