Error in using Inline function and fzero

2 views (last 30 days)
Hello, Can anybody help me? I want to figure out where I am doing a mistake in program. The only variable is X and Cp is an input.
Cp = double(zeros(49792,1));
P = size(x.Time_Series);
Q = P(1,1);
Cp(1,1)= 0.126826003999670;
Cp(2,1)= 0.325943036562508;
for k=3:Q;
k
hx = inline( '12.175*(X - 2*Cp(k-1,1) + Cp(k-2,1)) + 13.525*((X - Cp(k-1,1))* abs(X - Cp(k-1,1))) + X - SINGLE_FINAL_TIME_SERIES_OF_TAPS_NEAR_DOMINANT_OPENING(k,1)','X',Cp);
hp = fzero (hx,0,Cp,SINGLE_FINAL_TIME_SERIES_OF_TAPS_NEAR_DOMINANT_OPENING(k,1));
Cp(k) = hp(1);
end
I am getting this error
Error: The expression to the left of the equals sign is not a valid target for an
assignment.
If in inline function, I remove Cp which is given after X (at the very last near the bracket), then it shows error: too many inputs to inline function. Pls help. thanks.

Accepted Answer

Star Strider
Star Strider on 20 Mar 2014
It doesn’t like the ‘==’ in SINGLE_FINAL_TIME_SERIES_OF_TAPS_NEAR_DOMINANT_OPENING(k,1)==0.
Unlike anonymous functions that use workspace variables, inline functions ignore anything that isn’t in their argument list. It has no idea what SINGLE_FINAL_TIME_SERIES_OF_TAPS_NEAR_DOMINANT_OPENING(k,1) or k are.
Also, fzero only accepts single-variable functions.
  9 Comments
Star Strider
Star Strider on 23 Mar 2014
My pleasure!
Wow! And a tribute, too! Thank you!
I have a background in physical chemistry and am an instrument-rated private pilot, so I'm slightly familiar with what you are doing. I do not have sufficient background in fluid dynamics to understand it in any detail, though.
Venkatesh M Deshpande
Venkatesh M Deshpande on 23 Mar 2014
Thanks for helping and telling about your background. Take care.

Sign in to comment.

More Answers (1)

Sean de Wolski
Sean de Wolski on 20 Mar 2014
Avoid using inline, instead use an anonymous function

Categories

Find more on Function Creation 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!