MATLAB Answers

0

how to fix Not enough input arguments in integral error ?

Asked by Salomé Assaraf on 2 Aug 2019
Latest activity Answered by Srivardhan Gadila on 5 Aug 2019
my function file is:
function func = myfun1(x,t,L)
func= (exp(-t.*cosh(x))).*cosh(L.*x);
end
and my script is:
xmin=0;
xmax=Inf;
L=[0;2];
T=1:1:10;
size=length(T);
mat=[size,2];
for i=1:2
for t=1:1:10
q=integral(@(x,t)myfun1(x,t,L(i)),xmin,xmax);
mat=[i;q];
end
end
i get the error Not enough input arguments.
i would like to know why and how to fix it thans :)

  1 Comment

"integral" only needs one input argument, not two.

Sign in to comment.

1 Answer

Answer by Srivardhan Gadila on 5 Aug 2019

Change the function argument of integral to the following:
q=integral(@(x)myfun1(x,t,L(i)),xmin,xmax);
The integral function requires integrating w.r.t a single variable, which is ‘x’ in this case and since ‘t’ is constant w.r.t the integral, it should not be mentioned as variable in the integral function’s function argument.
You can refer to the documentation of integral

  0 Comments

Sign in to comment.