小编Mal*_*rig的帖子

区分中心和缩放的Polyfit Fit

我有一些我希望建模的数据,以便能够在与数据相同的范围内获得相对准确的值.

为了做到这一点,我使用polyfit来拟合6阶多项式,并且由于我的x轴值,它建议我居中并缩放它以获得更准确的拟合,我做了.

但是,现在我想找到这个函数的导数来模拟我的模型的速度.

但我不确定聚合物功能如何与我生成的缩放和拟合的polyfit相互作用.(我不想使用未缩放的模型,因为这不是很准确).

这里有一些代码可以重现我的问题.我尝试重新缩放x值,然后将它们放入适合衍生物的范围内,但这仍然无法解决问题.

x = 0:100;
y = 2*x.^2 + x + 1;

Fit = polyfit(x,y,2);

[ScaledFit,s,mu] = polyfit(x,y,2);

Deriv = polyder(Fit);
ScaledDeriv = polyder(ScaledFit);

plot(x,polyval(Deriv,x),'b.');
hold on
plot(x,polyval(ScaledDeriv,(x-mu(1))/mu(2)),'r.');
Run Code Online (Sandbox Code Playgroud)

在这里,我选择了一个简单的多项式,以便我能够准确地拟合它并产生实际的导数.

非常感谢任何帮助.我正在使用Matlab R2014a BTW.

编辑.刚刚玩了它并通过将差值的结果点除以标准差mu(2),它在-3e-13到约5e-13的范围内给出了非常接近的结果.

polyval(ScaledDeriv,(x-mu(1))/mu(2))/mu(2);
Run Code Online (Sandbox Code Playgroud)

不确定为什么会出现这种情况,还有另一种更优雅的方法来解决这个问题吗?

EDIT2.很抱歉有另一个编辑,但再次发现,并发现大样本x = 1:1000; 偏差变得大得多,直到10.我不确定这是否是由于一个坏的polyfit,即使它是居中和缩放或由于绘制衍生物的有趣方式.

谢谢你的时间

matlab curve-fitting

5
推荐指数
1
解决办法
1093
查看次数

tSQLt 如何判断表是否是伪造的

我刚刚开始为我的数据库创建一些单元测试。

如果我伪造了一张桌子,

EXEC tSQLt.FakeTable
    @TableName = 'dbo.[My Table]',
    @Identity = 0,
    @ComputedColumns = 0,
    @Defaults = 0
Run Code Online (Sandbox Code Playgroud)

可以查一下是否是假的吗?

请注意,可以在此处找到有关 FakeTable SP 的文档。

动机

我希望能够做到这一点,因为我想象创建几个存储过程来填充这些伪造的表,以便我可以执行测试。但是,我不想处理存储过程中的伪造表(因此我可以多次调用它们,每次输入不同的信息)。

我不想在添加数据之前忘记伪造表格(这几乎肯定会导致我的测试失败)。

sql sql-server unit-testing ssms tsqlt

1
推荐指数
1
解决办法
725
查看次数

标签 统计

curve-fitting ×1

matlab ×1

sql ×1

sql-server ×1

ssms ×1

tsqlt ×1

unit-testing ×1