多项式函数的参数辨识系统

题目

1.基本要求:
[1]编写多项式函数的参数辨识系统,多项式函数的形式为:y = a0 + a1·x + a2·x2 + …+ an·xn式中,x为自变量 (xmin≤x≤xmax),y为因变量,a0, a1, a2, …, an为多项式的系 数,n为多项式的次数。
[2]每个多项式包括以下信息:多项式名称(根据n的值命名, 如2次多项式、3次多项式,… )、自变量的上限 xmax和下 限xmin,多项式的次数(C++)即n的值)、多项式系 数的 真实值a0, a1, a2, …, an,多项式系数的辨识结果:a’0, a’1, a’2, …, a’n、辨识结果的评价指标。
2.基本管理功能:
[1]多项式基本信息的输入:从键盘输入多项式的次数、自变
量的上限和下限,以及多项式系数的真实值。
[2]样本数据的产生、保存与读取:根据输入的多项式信息,在 [xmin, xmax]范围内均匀产生50个x值,利用公式(C++)3)得到 对 应的50个y值,并 给每个y值产生一点随机的扰动 (即 利用C++中的 随机函数产生一点扰动 ,叠加到 原来 的y值上)。将其保存在硬盘(C++)以数据库文件或普通文 本文件的形式),需要时可以从硬盘将数据读取出来。
[3]参数辨识:根据多项式所产生的数据(50组), 利用最小 二乘法辨识多项式系数a’0, a’1, a’2, …, a’n。(这一部分内容 需要自己查阅参数辨识、最小二乘法等知识的相关资料,并 进行编程)。
[4]多项式值的估计值:在[xmin, xmax]范围内随机产生50个x 值,根据a0, a1, a2, …, an和a’0, a’1, a’2, …, a’n,计算多项式的 真实值y和估计值y’(各有50个值),即:y = a0 + a1·x + a2·x2 + …+ an·xny’ = a’0 + a’1·x + a’2·x2 + … + a’n·xn
[5]参数辨识结果评价:根据计算得到的50个y和y’,计算它们 的均方差,作为对参数辨识结果的评价指标。(均方差的计 算自己查阅文献)
[6]查询与输出功能:可以按多项式名称该多项式的信息,并按 一定的格式将其输出。

核心代码

最小二乘法原理和实现

https://blog.youkuaiyun.com/shuzfan/article/details/52367329

需要使用Eigen库,类似opencv部属。

https://blog.youkuaiyun.com/weixin_44438749/article/details/104967836

核心代码

主函数是简单的显示

#include <iostream>
#include <vector>
#include "data.h"
#include "least_square_method.h"
#include "contrast.h"
void menu()
{
   
   
    system("cls");
    cout << "**********************************************" << endl;
    cout << "**           欢迎使用最小二乘系统           **" << endl;
    cout << "**               
评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清欢_小铭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值