2017-02-07 27 views
1

私はこの象徴的な表現を簡略化する方法を見つけることができません。 xは実数で評価されます。Matlab絶対値二乗

syms x 
expr = abs(x)^2 

私は結果があることを期待し、MATLABが

expr = abs(x)^2 

答えて

5

を与える

expr = x^2 

xが本当であれば、ご希望のソリューションは、このようにあなたがMATLABにそれを伝える必要があり、のみ有効です。

assume(x, 'real') 
simplify(expr) 
4

理由は@Ander Biguriと同じです。しかし、xを初期化している間に、次のようにMATLABに伝えることができます。

syms x real; %Notice this 
expr = abs(x)^2; 
simplify(expr) 
+2

私はそれを知らなかった。興味深いことに 'syms x real y'は' real'という名前の変数を作成します –

+0

@AnderBiguri 'real'は有効なシンボリック変数名ではありません:)' syms x real y'はエラーを投げます。 'syms real' –

+0

MATLAB 2014bでエラーが発生しないので、変数 –