这个函数的实现方法,利用遗传算法优化一个多项式的形式,即减少所需的条件相比,最小二乘适合使用所有可能的条件,如以下所述:
克莱格,j . et al,“使用遗传算法来优化多维多项式的函数形式适合实验数据”,2005年IEEE国会在进化计算,928 - 934年爱丁堡,2005年9月
一般多项式的n个变量可以表示如下:
a1 * x1 ^ 2 * x2 xn ^ ^ 4 * x3 ^ 1 * p + a2 * x_1 x2 ^ 3 ^ 6 * * x3 ^ 1 * xn ^ p +……
一个线性最小二乘匹配可以找到系数的值,表示为“A”上面,这样函数和一组数据之间的误差最小化。如果数据的函数形式是无法提前知道这可能要求的所有可能的组合条件和权力使用给定的大小。作为一个多项式的条款是由(n + (m - 1)) !/ (n !) (m - 1) !其中n是使用的最大功率和m是变量的数量,数量的所有可能的条款可以成为非常大的多变量模型。例如,模型与12个变量的顺序需要75582条款。而且这个需要很大的反演矩阵以评价回归模型。
这个函数生成一个多项式形式的人口每一个子集的集合所有可能的条款和评估他们的适合的模型数据作为polyfitn平方值返回的函数。然后人口发展利用遗传算法基于他们的相对分数。进化是通过交配成功的个人和随机突变的引入。
自由GA工具箱的函数利用在英国谢菲尔德大学的进化计算团队可用:
http://www.shef.ac.uk/acse/research/ecrg/gat.html
但关键子功能objpolyfit、crtpolyp recpoly和mutpoly无疑可以很容易地使用MATLAB遗传算法和直接搜索工具箱。
这个函数可以使用提供的多核包文件交换,但不是必需的,只是总是使用的选项。MCORE = false选项(默认在任何情况下)。
目前需要/推荐的函数可以在这里找到:
遗传算法工具箱(必需):
http://codem.group.shef.ac.uk/index.php/ga-toolbox
polyfitn(必需):
http://www.mathworks.co.uk/matlabcentral/fileexchange/34765-polyfitn
gfit2(必需):
http://www.mathworks.co.uk/matlabcentral/fileexchange/22020
randMat(必需):
http://www.mathworks.co.uk/matlabcentral/fileexchange/24712
muticore(可选):
http://www.mathworks.co.uk/matlabcentral/fileexchange/13775
* * * * *注意* * * * *
gapolyfitn会很乐意配合非常高阶多项式数据。被警告说,这样的高阶多项式能给一个好的分数,但遭受高程度的数据点之间的“响”。因此用户配件时要照顾他们的数据使用这个工具。
引用作为
理查德牧杖(2023)。gapolyfitn(//www.tatmou.com/matlabcentral/fileexchange/25499-gapolyfitn), MATLAB中央文件交换。检索。
MATLAB版本兼容性
平台的兼容性
窗户 macOS Linux标签
确认
gapolyfitndir /
gapolyfitndir /私人/
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.12.0.0 | 更新描述链接 |
||
1.11.0.0 | 添加警告描述。 |
||
1.10.0.0 | 纠正链接提交polyfitn约翰D 'Errico |
||
1.9.0.0 | 添加缺失的polyfitn和polyfitn(之前在文件交换)在私人目录。固定的bug时没有提供选项,HasPoly速度提高。 |
||
1.8.0.0 | 固定误差和添加图形选项,现在代码应该是稳定的 |
||
1.6.0.0 | 删除多余的gapolyfitn。zip从上传目录 |
||
1.5.0.0 | 固定主要错误预防超过15项用于多项式由于一些测试代码没有被移除,哦。还添加了一些更多的信息打印命令提示符VERBOSE选项。 |
||
1.4.0.0 | 实质性的速度改进代码 |
||
1.3.0.0 | 这次更新正确描述和确认! |