why my integral is not a numerical value?

2 次查看(过去 30 天)
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

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by