why my integral is not a numerical value?

1 view (last 30 days)
Rabih Sokhen
Rabih Sokhen on 11 Oct 2021
Commented: Rabih Sokhen on 11 Oct 2021
code:
z=100;
n=100;
m=70;
qu= linspace(-2*pi,2*pi,m);
theta=linspace(-2*pi,2*pi,n);
qq=2*pi+pi*(-1.8);
target_qq=ceil(z*qq/(4*pi));
syms q
fct= ((1+exp(-2.*(asinh(sin(q/2)))))^(-0.5)).*[1;1-exp(-asinh(sin(q/2))-1i*q/2)]*exp(1i*(qu(target_qq).*n/2 + theta(target_qq).*m/2));
ket=diff(fct);
bras=fct';
f=bras*ket;
phase=1i*int(f,q,-2*pi,2*pi)
%this is my code, the probleme is in the last line, i want to obtain the phase as a numerical value but matlab keep writing it as a full expression
how can i fix this
thanks in advance
ps: i am using matlab 2019b

Accepted Answer

Matt J
Matt J on 11 Oct 2021
f=matlabFunction( bras*ket);
phase=1i*integral(f,-2*pi,2*pi)

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!