Can I get the mathematical expression of an interpolation?
3 次查看(过去 30 天)
显示 更早的评论
Hello everyone. I am working with interpolated data.
I want to obtain the mathematical expression of the interpollating polynomial. I have written
sfX1 = fit([positions(:,1), positions(:,2)],windX_in_the_node_vector,'poly34')
And the output returns the linear model poly which is what I am looking for, f(x,y)=a*x^3+b*y^3+...
However, I would be interested in using other kinds of interpolations. I have tried linear, lowess, linearinterp, cubicinterp and nearest and instead of poly34. Unfortunately, instead of a polynomial such as the one in poly34, the code returns
Linear interpolant:
sfX2(x,y) = piecewise linear surface computed from p
Coefficients:
p = coefficient structure
and so on. Is there a way for me to obtain the mathematical expressions as the ones in poly34?
Best regards.
Jaime.
2 个评论
Walter Roberson
2021-10-8
For piecewise fits, the mathematical expressions would have to be written in terms of heaviside() or similar functions. Would that even be useful to you?
At the moment I am not aware of any function to convert piecewise fits to heaviside, but I believe it would be possible to write such a function... but is it worth doing?
采纳的回答
Steven Lord
2021-10-8
编辑:Steven Lord
2021-10-8
Are you looking for a mathematical expression for the fitted model or do you just want to be able to evaluate the fitted model at new points? In the former case, how were you hoping to use such an expression? If the latter case, that's easy.
load census
f = fit(cdate, pop, 'linear', 'Normalize', 'on')
plot(cdate, pop, 'r-+', 1977, f(1977), 'ko') % Evaluate f in 1977
Looks like a pretty good match.
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!