how to define an integral function

32 views (last 30 days)
I want to define a function in the integral form
f(x)=integral(g(z), z=0, z=x)
as an example:
for which I wrote:
fun = @(z) z^2+3*z-1;
x=linspace(0,1,100);
y = integral(fun,0,@(x) x)
plot(x,y)
But Matlab returned the following error:
Error using integral (line 85)
A and B must be floating-point scalars.
Error in IntegralFunction (line 8)
y = integral(fun,0,@(x) x)
Is it possible at all to do this in Matlab?

Accepted Answer

Torsten
Torsten on 6 Sep 2018
fun=@(z)z.^2+3*z-1;
F=@(x)integral(fun,0,x);
F(10)
  5 Comments
Saeid
Saeid on 7 Sep 2018
I tried the following format but it didn't work:
tspan = [0 5];
y0 = 0;
[t,y] = ode45(@(t,y) DYDT(t,y) , tspan, y0);
plot(t,y,'-o')
function dydt=DYDT(t,y)
fun=@(z)z.^2+3*z-1;
dydt=@(y)integral(fun,0,y)
end
Aishwarya Kasarla
Aishwarya Kasarla on 1 Apr 2023
Hey, I am also stuck with the same proble, did you find the solution? Can you please help me out with this?

Sign in to comment.

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!