Defining equations with interpolant cfit model (ex. linearinterp, pchipinterp)

Hi,
does anyone know how to define equations to be used in solve or vpasolve using interpolant cfit model?
I have pchipinterp (pchip_int_fn) and linearinterp (lin_int_fn) cfit models from my raw data and I want to define an equation like the following:
syms x y z
eqn = x*pchip_int_fn(x)*lin_int_fn(x) + y*pchip_int_fn(y)*lin_int_fn(y) + x*pchip_int_fn(z)*lin_int_fn(z) == 0
solve(eqn)
Matlab gives me an error message saying
"Error using cfit/subsref>iParenthesesReference (line 46)
Cannot evaluate CFIT model for some reason.
Error in cfit/subsref (line 16)
out = iParenthesesReference( obj, currsubs );"
Does anyone know how to resolve this issue?
Thank you so much for your help!

 채택된 답변

Anish Mitra
Anish Mitra 2016년 2월 24일
cfit objects do not work with inputs as symbolic variables. To work around this, you could re-write the cfit model equation using symbolic variables and then use it in 'eqn', instead of calling the cfit object.
The other option you could explore to find results for x,y,z is using the Optimization Toolbox, and minimizing the square of the value of 'eqn'. This would be a numerical optimization, and symbolic variables would not be used.

댓글 수: 3

Thank you so much Anish! I could not figure out how to find the equations of interpolant cfit models (when I look at the information on the fit model, it returns ans(x) = piecewise polynomial computed from p Coefficients: p = coefficient structure), so I could not use your first option, but the second option works well! Thank you again!
Yes, the first option would not be possible for piecewise polynomials. It would work for continuous functions (regular polynomials or exponentials).
Hello Anish, I'm facing a similar Problem to the original poster, but having a hard time executing your second Option. Could you maybe explain it in Detail ? Thanks alot in advance

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기

제품

질문:

2016년 2월 20일

댓글:

2017년 11월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by