How to use integration function?

8 views (last 30 days)
Anirudh
Anirudh on 27 Feb 2014
Edited: Wayne King on 27 Feb 2014
Hi, I'm trying to solve an integration solution. I have addressed all errors but am unable to run the program. Could anyone please help me? FYI, I'm using MatLab R2013b.
C0 = 10; Dx = 1; Vx = 0.1; x = 30; e = (Vx*x)/(4*Dx); C = 1:500;
for t = 1:500
a = x/(2*sqrt(Dx*t));
p = x/(2*sqrt(Dx*t));
m = C0*(2/sqrt(pi))*exp(((Vx^2)*t)/(4*Dx));
fun1 = exp((-p.^2)-((e^2)/(p^2)));
fun2 = exp((-p.^2)-((e^2)/(p^2)));
n = int(fun1,p,0,4);
o = int(fun2,p,0,a);
C(t) = m*(n-o);
end
t = 1:500;
plot(t,C,'r.')
The error I'm getting off this code is:
Undefined function 'int' for input arguments of type 'double'. Error in Sample (line 16) n = int(fun1,p,0,4);
If anyone can tell me how to use the integration function, it would be very useful. Thank you

Answers (1)

Wayne King
Wayne King on 27 Feb 2014
Edited: Wayne King on 27 Feb 2014
int() is for symbolic function. Use integral with a function handle. Or use one of the other numerical routines, trapz(), cumtrapz()
For example to approximate the antiderivative of cos(t) from -pi to pi
dt = 0.01;
t = -pi:dt:pi;
x = cos(t);
y = cumtrapz(x);
y = y.*dt;
plot(t,x); hold on;
plot(t,y,'r');
legend('cos(t)','sin(t)')

Community Treasure Hunt

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

Start Hunting!