Error with anonymous call: Undefined function "times" for function_handle

5 views (last 30 days)
Hello everyone
i have a quite long formula which i have attempted to split up into two separate functions. I would then like to call the first function within the second function when i integrate the second function - but i run in to the error message shown below:
Undefined function 'times' for input arguments of type
'function_handle'.
i have googled and can see that many have been given this type of problem when they forget to add the variable in the function call. but as far as i can see, i call the function correct and still get the error - can anyone see what i am doing wrong? any help or suggestion would be greatly appreciated.
My code is shown below:
R = 5;
epsR = 25;
eps = epsR/R;
Qrange = 0.01:0.001:2;
Rdot = @(x) R.*sqrt(sin(x).^2+eps^2.*cos(x).^2);
fun_P = @(y) ((3.*sin(Qrange.*Rdot(y))-3.*...(Qrange.*Rdot(y)).*cos(Qrange.*Rdot(y)))./(Qrange.*Rdot(y).^3)).^2.*sin(y);
P_elip = integral(fun_P,0,pi/2,'ArrayValued',1);
as you can see, i make sure to use Rdot(y) and not just Rdot in my code. i have checked the Rdot function and i works fine e.g. Rdot(1) = 14.1476.
ps. i know i use more parenthesis than i strictly have to, but the help keep track of the different terms. i hope it is not too unclear
  2 Comments
Martin Nors Pedersen
Martin Nors Pedersen on 30 Oct 2013
Edited: Martin Nors Pedersen on 30 Oct 2013
I just checked again and you are right - i checked it several times back then and i got an error message each time. at least it works now :)
btw., in case someone else would like to calculate the scattering from an ellipsoid: there a mistake in the code above. as it stands now, only Rdot(y) is cubed in the denominator - it should be (Qrange.*Rdot(y)).^3

Sign in to comment.

Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!