what is the best method to fit a curve to strain-stress data?
18 次查看(过去 30 天)
显示 更早的评论
Dear Matlab experits,
Is there any preference towards any method (Matlab function) to fit a curve into strain-stress data? Is polyfit is reliable enough?
Thank you..
Aziz
0 个评论
采纳的回答
John D'Errico
2019-7-21
编辑:John D'Errico
2019-7-21
NO polynomial will ever fit that curve (at least, not fit it well.) NONE. PERIOD.
x = data_mathwork(:,1);
>> y = data_mathwork(:,2);
>> plot(x,y,'.')
Think about it. The function is clearly asymptotically linear above a certain point, but highly nonlinear below that point. Below that point, it appears to have a singularity.
How many polynomials can you think of that have those properties? (None.)
If you want to fit a model to that data, then you will need to choose one that has reasonable properties. It ain't gonna be a polynomial.
Were I to try to find a model, I would first exchange x and y, fitting the first variable as a function of the second. That eliminates the singularity. All curve fitting tools have problems with that.
If I do so, and then fit the result with a spline, I get this:
Which suggests the upper part is not truly asymptotically linear, but close. If I look at the first derivative, it is indeed trailing off.
I'd just use an intelligently fit least squares spline as the simplest thing you could do.
3 个评论
John D'Errico
2019-7-22
编辑:John D'Errico
2019-7-22
As I was thinking about it, I was wondering if there were some model forms established for stress-strain behavior. I assume this is elastic-plastic behavior of a material. Even though one of my graduate degrees is in mechanical engineering, that was many years ago, and I never concentrated on that side of things even then. But some reading might turn up some ideas.
Lacking that, if all you want is a plot and a smooth fit, you can use my SLM toolbox (on the file exchange). The fit that I showed was achieved with the one line:
slm = slmengine(y,x,'knots',8,'increasing','on');
更多回答(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!