MATLAB: Can I store indefinite integral using a function handle

functionfunction handleindefinite integralintegrationMATLAB

Is it possible to store indefinite integral in a function handle and input values?
syms x
a=@(x)x^2;
b=@(x)int(a(x));
%E.g. when x=1 b=?
b(1)
%E.g. when x is a vector b=?
%int will always output x^n, but in order to plug in a vector it has to be changed to x.^n. Is there an automatic way to add the dot? I suppose I can use for loop and calculate b for each individual x and store it in a vector
x_1=1:0.1:10;
b(x_1)

Best Answer

See if this does what you want:
syms x
a(x) = x^2;
b(x) = int(a(x));
bfcn = matlabFunction(b)
produces:
bfcn =
function_handle with value:
@(x)x.^3./3.0
Substituting your scalar and vector:
x =
1
Out = bfcn(x)
Out =
0.3333
x =
1 3 5 7
Out = bfcn(x)
Out =
0.3333 9.0000 41.6667 114.3333