Asked by Venkatesh Deshpande
on 20 Mar 2014

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.

*No products are associated with this question.*

Answer by Star Strider
on 20 Mar 2014

Accepted answer

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.

Show 6 older comments

Venkatesh Deshpande
on 23 Mar 2014

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 Deshpande
on 23 Mar 2014

Thanks for helping and telling about your background. Take care.

Answer by Sean de Wolski
on 20 Mar 2014

Avoid using `inline`, instead use an anonymous function

Opportunities for recent engineering grads.

## 0 Comments