First input argument must be a function handle.

1 次查看(过去 30 天)
Hi, I am trying to integrate using the following function:
if true
syms h g x pi
h = 2.0545
g = 5.3442
C = 1
y = C - (exp(-2.*g.*i.*x./h)).*(C - cos(x).*((h.^2)./2) + (g.*x)/2.*h.*i)
yx = integral(y,-pi,pi)
end
however, I get the error "First input argument must be a function handle. "
Can anyone suggest a solution?
Thanks!

采纳的回答

KSSV
KSSV 2017-8-10
h = 2.0545 ;
g = 5.3442 ;
C = 1 ;
y = @(x) C - (exp(-2.*g.*1i.*x./h)).*(C - cos(x).*((h.^2)./2) + (g.*x)/2.*h.*1i) ;
yx = integral(y,-pi,pi)
  3 个评论
José-Luis
José-Luis 2017-8-10
y = @(x) ((C - (exp(-2.*g.*i.*x./h)).*C) * ((C - (exp(-2.*g.*-i.*x./h)).*C);
In your anonymous function the @(x) is not the symbolic variable x.
Sergio Manzetti
Sergio Manzetti 2017-8-10
Thanks. It must have function and not a result or call to another function in other words..?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by