MATLAB: Integrating using quad

quad nametype

Hi, I have this really simple problem regarding using quad to integrate a function
for example, I would like to integrate x^2 from 1 to 4 so I would type in:
quad(x^2,1,4)
and this results in an error
then I try:
quad(vectorize(x^2),1,4)
ans =
21
Perfect!
But vectorizing x^2 resulting in:
vectorize(x^2) ans = x.^2
however typing quad(x.^2,1,4) into matlab still returns an error.
Why is that so?

Best Answer

Is x declared as a symbolic variable? quad() cannot process symbolic expressions as the function.
If x is not a symbolic variable, then what is it? vectorize() can only be applied to character strings, inline objects, or function handles.
quad('x^2',1,4)
would be valid syntax, but would run in to problems because quad needs the expression to be able to handle vectors.
quad('x.^2',1,4)
would be valid.