why my integral is not a numerical value?

조회 수: 3 (최근 30일)
Rabih Sokhen
Rabih Sokhen 2021년 10월 11일
댓글: Rabih Sokhen 2021년 10월 11일
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에서 Symbolic Math Toolbox에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by