MATLAB: Trying to do a quad on the positions in a vector

MATLABquadSymbolic Math Toolboxvector

I try to do it like this:
syms x
RR = [x.^2 x.^3 x];
q = quad(@(x)RR(1),0,2);
disp(q)
But when I run it it gives me this error:
??? Undefined function or method 'isfinite' for input arguments of type 'sym'.
Error in ==> quad at 81
if ~isfinite(y(1))
Error in ==> Untitled at 5
q = quad(@(x)RR(1),0,2);
If I try it like this:
syms x
RR = x.^2;
q = quad(@(x)RR,0,2);
disp(q)
It gives me the same error:
??? Undefined function or method 'isfinite' for input arguments of type 'sym'.
Error in ==> quad at 81
if ~isfinite(y(1))
Error in ==> Untitled at 5
q = quad(@(x)RR,0,2);
But if I do it like this:
syms x
RR = @(x)x.^2;
q = quad(RR,0,2);
disp(q)
It works. So my problem is that I got a vector with functions in it on which I would like to use quad on each of the functions, one at a time. Is this possible?

Best Answer

quad is not defined for symbolic variables. Do this instead:
syms x
RR = [x.^2 x.^3 x];
q = int(RR,0,2)
EDIT: The reason your last example works is that the variable x in the anonymous function definition is a dummy variable and has no relation to the symbolic variable x in the line above. So what you get is a function of a double precision variable. This approach can be extended as follows:
RR = @(x)[x.^2 x.^3 x];
q = quadv(RR,0,2)