Integration of a function

2 views (last 30 days)
Jithin D Mathew
Jithin D Mathew on 21 Nov 2020
Commented: Jithin D Mathew on 24 Nov 2020
syms x
a = x^6 + 5*x^4 +78
b = diff(a)
c = diff(b)
d = c^2
e = integral(d, x, 0, 3)
Error using integral (line 82)
First input argument must be a function handle.
I am getting this error
Please Help

Accepted Answer

John D'Errico
John D'Errico on 21 Nov 2020
Edited: John D'Errico on 21 Nov 2020
It can be confusing at times I have seen for newcomers to know which tools apply where, because we have symbolic tools and numerical tools. They often live in subtly different sandboxes.
You know how to differentiate symbolic expressions. That used diff. But you need to understand that integral is a tool for definite NUMERICAL integration. For a symbolic integration, you use int.
syms x
a = x^6 + 5*x^4 +78;
b = diff(a);
c = diff(b);
d = c^2
d = 
e = int(d, x, 0, 3)
e = 
For example, you would use integral to compute a definite integral of a function handle or a function defined in an m-file. For example:
fun = @(x) x.^2 + 2;
integral(fun,1,3)
ans = 12.6667
I could have converted the expression in the variable d, into a function handle. Once it is a function handle, now numerical computations in double precision will apply to it. Then I could have used integral.
dfun = matlabFunction(d)
dfun = function_handle with value:
@(x)(x.^2.*6.0e+1+x.^4.*3.0e+1).^2
integral(dfun,0,3)
ans = 3.2680e+06
And that should be the same number as e, when expressed as a decimal. Using double, we see:
double(e)
ans = 3.2680e+06

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!