2016-03-08 109 views
2
syms x alpha 
L =1; 
cn = (1/2)*int(exp(-j*alpha*x),x,-L,L) 

cn應該是sin(alpha)/alphaMATLAB符號表達式:如何強制答案爲sin(alpha)/ alpha

但是Matlab的答案如下:

cn = 

(2^(1/2)*sin(alpha)*i)/(2*(alpha*i)^(1/2)*(alpha*(i/2))^(1/2)) 

隨着簡化或簡單,我不能強迫CN = SIN(阿爾法)/α-。如何強制它?

非常感謝您的幫助

+1

'simpl(cn,'IgnoreAnalyticConstraints',true)'返回您期望的答案。 – Daniel

+0

非常感謝丹尼爾。解決了! – User1961

+0

@ User1961如果丹尼爾的答案解決了你的問題,請務必將丹尼爾的答案標記爲accpeted。 – codeaviator

回答

3

如果使用simplify(cn,'IgnoreAnalyticConstraints',true)你得到你想要的結果。該選項的說明文件中提到:

對錶達式應用純粹的代數簡化。簡化可以爲表達式返回更簡單的結果,否則它將返回更復雜的結果。將IgnoreAnalyticConstraints設置爲true會導致與初始表達式不等效的結果。

我從來沒有看到選項返回「錯誤」的結果。如果你有興趣進一步解釋,你可以閱讀ths blog entry