Function handle, integral respect.

13 views (last 30 days)
Opera Era
Opera Era on 24 Apr 2017
Commented: Steven Lord on 24 Apr 2017
I have function u(x)=integral exp(5*i*abs(x-y))*(-1-2*sinh(y))*exp(i*5*y)dy y=0..2,when x=0..2,and I try to find her
for x=0:0.01:2
N=N+1;
syms f(x,y)
f(x,y)=exp(5*i*abs(x-y))*(-1-2*sinh(y))*exp(i*5*y);
f2=integral(f,0,2);
u(N)=integral(f2,0,2);
end
What wrong?
  4 Comments
Opera Era
Opera Era on 24 Apr 2017
Modified to this:
syms x y
f=int(exp(5*i*abs(x-y))*(-1-2*sinh(y))*exp(i*5*y),y);
f2=vpa(subs(f,y,2))-vpa(subs(f,y,0));
u(N)=vpa(subs(f,x,k));
but get error
Steven Lord
Steven Lord on 24 Apr 2017
And the full text of the error message ( EVERYTHING in red ) that you received from your modified code is ... ?

Sign in to comment.

Answers (1)

Steven Lord
Steven Lord on 24 Apr 2017
There are two main functions for integrating a function.
Use the int function from Symbolic Math Toolbox to integrate a symbolic expression.
Use the integral function from MATLAB to numerically integrate a function handle.
Trying to use int to integrate a function handle won't work.
Trying to use integral to integrate a symbolic expression won't work.
You have a symbolic expression, so int is the right tool to use.

Community Treasure Hunt

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

Start Hunting!