what is the best method to fit a curve to strain-stress data?
조회 수: 14 (최근 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!