Integration of a function

4 Ansichten (letzte 30 Tage)
Jithin D Mathew
Jithin D Mathew am 21 Nov. 2020
Kommentiert: Jithin D Mathew am 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

Akzeptierte Antwort

John D'Errico
John D'Errico am 21 Nov. 2020
Bearbeitet: John D'Errico am 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

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by