文件交换

图像缩略图

Polyfitn.

版本1.3(56.7 kB) John d'Errico.
1或n尺寸的多项式建模

28.9k下载

更新2016年4月27日

查看许可证

Polyfitn是Polyfit的延伸,允许用户创建具有多于一个独立变量的模型。它还允许用户指定一般模型,例如,二次模型,具有常数和二次术语,但没有线性术语。
例如,要将多项式模型符合从余弦曲线中选择的点,我们只需要均匀的条款。
x = -2:.1:2;
y = cos(x);
p = polyfitn(x,y,'常数x ^ 2 x ^ 4 x ^ 6');
p.cofficients.
ans =.
[0.99996 -0.49968 0.041242 -0.0012079]
当然,系数不会被精确,因为我只使用了基本上是截断的泰勒系列的有限术语,并且我只有有限量的点来构建模型。余弦系列的确切的第一个4系数将是:
>> [1 -1/2 1/24 -1/720]
ans =.
1 -0.5 0.041667 -0.0013889

所以我们得到了预期的结果。

当然,Polyfitn在更高的尺寸上工作,就像这个问题真的很旨在解决。

x = rand(100,1);
y = rand(100,1);
z = exp(x + y)+ randn(100,1)/ 100;
p = polyfitn([x,y],z,3);

结果可以转换为符号形式,以更简单地查看模型。在这里,我将使用我的Sympoly Toolbox,但也提供了一个Polyn2sym函数。

polyn2sympoly(p)
ans =.
0.43896 * x1 ^ 3 + 1.4919 * x1 ^ 2 * x2 + 0.041084 * x1 ^ 2 + 1.4615 * x1 * x2 ^ 2 - 0.095977 * x1 * x2 + 1.2799 * x1 + 0.56912 * x2 ^ 3 - 0.15306 * x2 ^ 2 +1.361 * x2 + 0.94819

当然,对于那些希望确定所生成的术语的重要性的人来说,生成参数错误估计。

我还提供了用于评估这些模型的工具,并分辨模型。

一种警告 - 要注意使用高阶多项式来符合您的数据。仅仅因为低阶模型工作,高阶模型不一定更好。高阶多项式经常遭受数据点之间的严重振铃。始终绘制您的数据。想想你将要建造的模型。然后绘制产生的模型。用你的眼睛验证结果,更简单地查看R线系数(尽管我也返回该参数。)

如果您发现需要高阶多项式模式,因为您的曲线太复杂,请考虑使用回归或平滑样条模型。

引用

John d'Errico(2021年)。Polyfitn.(//www.tatmou.com/matlabcentral/fileexchange/34765-polyfitn),matlab中央文件汇。检索到

Matlab释放兼容性
使用R2007B创建
兼容任何释放
平台兼容性
视窗 苹果系统 Linux.

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!

polyfitntools / demo / html /