MATLAB Answers

how to fix Not enough input arguments in integral error ?

11 views (last 30 days)
Salomé Assaraf
Salomé Assaraf on 2 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

Torsten
Torsten on 2 Aug 2019
"integral" only needs one input argument, not two.

Sign in to comment.

Answers (1)

Srivardhan Gadila
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.

Sign in to answer this question.