Integration limit is an array

3 views (last 30 days)
Athira T Das
Athira T Das on 22 Dec 2022
Commented: VBBV on 22 Dec 2022
syms x
tau=35*10^-15;
f=tau.*exp(-x.^(2));
t=linspace(-300*10^-15,300*10^-15,500);
fun=matlabFunction(f,'Vars',x);
z=integral(fun,-Inf,(t/tau),'ArrayValued',true)
Error using integral
Limits of integration must be double or single scalars.

Accepted Answer

VBBV
VBBV on 22 Dec 2022
syms x
tau=35*10^-15;
f=tau.*exp(-x.^(2));
t=linspace(-300*10^-15,300*10^-15,500);
fun=matlabFunction(f,'Vars',x)
fun = function_handle with value:
@(x)exp(-x.^2).*3.5e-14
for k = 1:length(t)
z(k)=integral(fun,-Inf,(t(k)/tau),'ArrayValued',true);
end
z
z = 1×500
1.0e-13 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
plot(t,z)
  1 Comment
VBBV
VBBV on 22 Dec 2022
As mentioned in error, use scalar inputs to function integral

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!