I loaded two vectors into my workspace, plotted them versus one another, used the "basic fitting" tool on the plot, and saved the fit to my workspace. So I now have a structure named "ResourceFit" that shows up in my variable list. However, when I try to call
feval('ResourceFit', 0.17)
for example, I get
Error using feval Undefined function 'ResourceFit' for input arguments of type 'double'.
I'm an infrequent Matlab user, but I swear I've done this before....not sure where I'm going wrong.

 채택된 답변

Matt J
Matt J 2014년 7월 1일
편집: Matt J 2014년 7월 1일

0 개 추천

I assume you are talking about the feval method for fittype objects, described here
If you have the Curve Fitting Toolbox installed and the object created by the steps you describe is of type "fittype", then it should work if you omit the quotes,
feval(ResourceFit, 0.17)

댓글 수: 4

Matt J
Matt J 2014년 7월 1일
Jeremy commented:
That may be my problem. I plotted the data, then used the fit tool that's available from the plot "tools" menu. What's saved to the workspace is a 1x1 Struct. I just went back and re-accomplished one of my fits (there are 21 of them in all) using the curve fitting tool (cftool) and built the same fit. When I saved it to the workspace, it saved as a cfit object, not a struct, and I can call it with feval as I expected.
So my question now is, is there an easy way to produce cfit objects from my other 20 struct's, or am I going to have to go through cftool for all of them?
Matt J
Matt J 2014년 7월 1일
편집: Matt J 2014년 7월 1일
These are 1D polynomial fits? If so, you can just use polyval on the coefficients contained in the structure. No need for fancier stuff.
Jeremy
Jeremy 2014년 7월 1일
Unfortunately no, they're splines. The plots are of cumulative density functions for empirical data, so they're very "non-smooth"....
Your answer did lead me to a solution though!
It's painful, and I'm not sure why Matlab makes you go through this, but you can:
pp=mkpp(ResourceFit.coeff.breaks, ResourceFit.coeff.coefs)
ppval (pp, 0.17)
and get the correct answer.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

질문:

2014년 7월 1일

댓글:

2014년 7월 1일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by