why my integral is not a numerical value?

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

 Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by