Surface fitting to data
조회 수: 3 (최근 30일)
이전 댓글 표시
Folks,
I have a custom equation with z=a*x*y which I want to fit to some experimental data. The challenge is that
1) The fit z needs to be calculated for 8 different items. For simplicity, we use the same x,y for each item. Then the sum of these 8 items will compared against the experimental data to which I want to fit.
2) Is this possible either through a) SFTOOL and/or B) Programmable approach?
Thanks in advance B
댓글 수: 4
Sean de Wolski
2013년 10월 11일
It needs to be calculated 8 times for the same x and y on each but a different, z?
답변 (2개)
Sean de Wolski
2013년 10월 11일
편집: Sean de Wolski
2013년 10월 11일
The curve/surface fitting tool will work for you application. Design the fit within the application, then go to
File -> Generate Code
This will generate a function that you can then save and call with your new z-data. Each time it will return a fit object based on the new z.
Alternatively, you could use LinearModel.fit in the Statistics Toolbox
doc LinearModel.fit
or lsqcurvefit in the Optimization Toolbox, though this is overkill:
댓글 수: 0
Matt J
2013년 10월 11일
편집: Matt J
2013년 10월 11일
And "a" is the parameter to be fit? sftool seems like overkill for something that can be done as simply as
a=x(:).*y(:)\z(:);
댓글 수: 5
Matt J
2013년 10월 11일
The solutions x,y for the equation
z=a*x*y
are not unique. You have 1 equation in 2 unknowns. So your problem appears under-specified.
참고 항목
카테고리
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!