how can i find a fuction which define input and output of a system?
3 views (last 30 days)
Show older comments
i have a system and i put some values in and get its output. for instance y=f(x) i know the values of y and x .i get y by monte carlo simaltion numerically now ,how can i find a function which is close to f ? what command can i use? i need to use the function f in another m.file
0 Comments
Accepted Answer
Shoaibur Rahman
on 17 Jan 2015
Use:
p = polyfit(x,y,n) % n is degree of polynomial, use a value that best fit your data
To check the fitting:
y_fit = polyval(p,x);
plot(x,y, x,y_fit)
If you are satisfied with your fitting, then your function will be:
f = p(1) + p(2)*x + p(3)*x.^2 + p(4)*x.^3 + ... + p(n+1)*x.^n
And, you can write this function in a separate m-file
4 Comments
Image Analyst
on 17 Jan 2015
You would never fit a 13th order polynomial. Have you ever seen what happens between and after your training points when you do that? They go haywire with enormous oscillations!
You should have some idea of the type of function you want to fit if you're looking for an analytical formula, like a polynomial or something. I have no idea what it might be because you're not sharing a plot of your data, or even the data itself so we're left to guess (or not even bother to answer which I'm sure many did).
More Answers (0)
See Also
Categories
Find more on Get Started with Curve Fitting Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!