这可能是数学问题而不是Matlab。尽管如此,这是我的问题。
所以,我有一个由绿色曲线表示的数据集。它通常是线性的,但有时它可能会有轻微的曲率。然后,我还有两点:红色和蓝色。红色远远不够。它的幅度比绿色圆圈的X值大30~100,并且它总是在X轴上。蓝色圆圈始终位于Y轴上。
我需要一条适合红色,蓝色和绿色圆圈的曲线,但还有两个限制:
红点不必在Y轴上,但渐近于零,在红色圆圈处非常接近于零。
我尝试了不同的反函数,如指数,多项式,1 /等等,但没有斜率约束,最终结果往往在绿点处有一个尖点,这会导致整体分析出现问题其中使用了这种曲线拟合函数。
可以这样做吗?
答案 0 :(得分:0)
如果您只需要大致匹配斜率并且可以访问绿色曲线的数据点(而不仅仅是绿色点),则可以在拟合函数中使用绿色曲线的多个点以及蓝色和红点。这应该产生一条穿过所有点的曲线,并且几乎与绿点的斜率相匹配。
显然,如果你需要用数学精度匹配斜率,你需要设置另一个约束方程,就像duffymo建议的那样。
答案 1 :(得分:0)
我正在接受
的回答这使用了它通过三个点的事实,并且在一个点上,它的斜率是已知的。通过四个方程和一般的无理/指数函数,我能够创建一个合理的曲线拟合。