五点三次平滑的程序源代码

问题

用五点三次平滑公式对等距点上的观测数据进行平滑。

算法分析

设已知n个等距点,上的观测(或实验)数据为x0<x1<…<xn-1,则可以在每个数据点的前后各取两个相邻的点,用三次多项式

Y=a0+a1x+a2x^2+a3x^3

进行逼近。

根据最小二乘原理确定出系数a0,a1,a2,a3,最后可得到五点三次平滑公式如下:

改公式要求数据点数n≥5,当数据点数多于5时,为对称考虑,除在两端分别用公式(4-1),(4-2)和(4-4),(4-5)外,其余都用公式(4-3)进行平滑,这就相当在每个子区间上用不同的三次最小二乘多项式进行平滑。

三、实例

设9个等距观测点上的数据y为54.0,145.0,227.0,359.0,401.0,342.0,259.0,112.0,65.0,用五点三次平滑公式对此9个观测数据进行平滑。

四、代码

 

 

#include "stdio.h"

/*形参与函数    参数意义

int n   给定等距观测点数。要求

double y[n] 存放n个等距观测点上的观测数据

doulilc yy[n]   返回n个等距观测点上的平滑结果

void kspt() 过程

*/
void kspt(int n, double y[], double yy[])
{
    if (n<5)
    {
        for (int i=0; i<= n-1; i++)
            yy[i]=y[i];
    }
    else
    {
        yy[0] = 69.0*y[0] + 4.0*y[1] - 6.0*y[2] + 4.0*y[3] - y[4];
        yy[0]=yy[0]/70.0;
        yy[1]=2.0*y[0]+27.0*y[1]+12.0*y[2]-8.0*y[3];
        yy[1]=(yy[1]+2.0*y[4])/35.0;

        for (int i=2; i<=n-3; i++)
        {
            yy[i]=-3.0*y[i-2]+12.0*y[i-1]+17.0*y[i];
            yy[i]=(yy[i]+12.0*y[i+1]-3.0*y[i+2])/35.0;
        }
        yy[n-2]=2.0*y[n-5]-8.0*y[n-4]+12.0*y[n-3];
        yy[n-2]=(yy[n-2]+27.0*y[n-2]+2.0*y[n-1])/35.0;
        yy[n-1]=-y[n-5]+4.0*y[n-4]-6.0*y[n-3];
        yy[n-1]=(yy[n-1]+4.0*y[n-2]+69.0*y[n-1])/70.0;
    }

    return;
}

 

 

 

  • 4
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 微信小程序 Net源代码程序是一种开源的微信小程序解决方案,它可以提供完整的微信小程序的前端和后端代码,让开发者可以快速创建自己的微信小程序。 使用Net源代码程序进行开发微信小程序具有以下几个优点: 第一,Net源代码程序具有完善的组件库和管理后台,可以帮助开发者快速地创建和发布微信小程序。 第二,Net源代码程序采用的是前后端分离的开发模式,能够提高开发效率,并且可以使得程序可维护性更高。 第三,Net源代码程序具有灵活的架构设计,可以根据开发者的需要进行二次开发和定制,实现更多的功能。 第四,Net源代码程序采用的是优秀的框架和技术,例如Vue.js和Node.js等,使得程序具有高性能和稳定性。 总之,微信小程序Net源代码程序是一种优秀的微信小程序解决方案,可以帮助开发者快速开发微信小程序,并且具有高性能、灵活性和可维护性。 ### 回答2: 微信小程序 net源代码程序是一种以微信为入口的应用程序开发平台,在其平台上开发出的小程序具有平台入口显示、一键打开、无需下载安装、轻量级便捷、省流量节省空间、快速响应等特点。 而微信小程序 net源代码程序则是一种帮助开发者快速开发小程序的工具,可以简化开发流程、提高开发效率的程序源代码。 通过微信小程序 net源代码程序,开发者可以直接使用预定义的模板,或者自行定义模板,进行快速开发。该程序源代码提供了模板实现、组件、API库、工具等开发实践经验及最佳实践,可以帮助开发者实现微信小程序开发的过程。同时,该源代码程序也提供了一些常用的插件,如音频、视频、位置、分享、支付等,方便开发者自由选择并应用于自己的小程序中。 微信小程序 net源代码程序还支持多端应用开发,使得开发者只需编写一次代码即可在多个平台上运行,方便开发者和用户之间的交互,同时也为开发者带来了更多的商业机会,提升了小程序的商业价值和用户体验。 短短的300字难以全面阐述微信小程序 net源代码程序的优势和使用细节,但可以肯定的是,该程序源代码提供了丰富的功能和灵活的配置,为微信小程序开发者提供了很好的开发环境和开发工具,让开发者更加专注于业务逻辑开发,从而最大化地满足用户需求,打造出更优秀的小程序。 ### 回答3: 微信小程序 net源代码程序是为了实现小程序网络请求而编写的程序。通常情况下,小程序需要与服务器进行交互来实现各种功能,例如获取数据、提交表单、上传文件等。而这些功能的实现就需要依赖网络请求。 net源代码程序主要包括以下功能: 1. 实现请求发送:通过封装HTTP请求的方法,实现网络请求的发送。 2. 实现数据传输:通过定义请求头、请求体等内容,实现网络数据的传输。 3. 实现请求响应:请求发送后,服务器会返回响应数据。通过处理响应数据,可以完成相应的业务逻辑。 4. 实现请求错误处理:在请求过程中,可能会出现各种错误。通过处理错误,可以保证小程序功能的正常运行。 总之,微信小程序 net源代码程序是十分重要的一部分,实现了小程序与服务器之间的网络交互,为小程序的功能实现提供了基础支持,是小程序开发过程中必不可少的一部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值