2011-10-03 12 views
4

いくつかの記号方程式を単純化しようとしています。Matlabの動作を簡略化する

>> syms x; 
>> simplify(sqrt(x^2)/x) 

ans = 

(x^2)^(1/2)/x 

実際、私はmatlabに1を返すか、そういうものを返すようにします。

>> simplify((x^9+7*x^8-2*x-6)/(x-1)) 

ans = 

-(- x^9 - 7*x^8 + 2*x + 6)/(x - 1) 

1は分子の根ですので、私はその分数を減らすためにmatlabにします。

私は間違っていますか?

+1

問題は、 '(X^2)^(1/2)'簡素化することができないということです例えば ​​'x> 1 'のように' x'についてもう少し知っていなければ、 – nibot

+0

まあ、(x^3)^(1/3)でもうまくいきません。 –

+0

x ^(1/3)もまた多値である。 – nibot

答えて

3

最初の質問に対する回答は簡単です。 2番目の質問については

>> x = sym('x', 'positive') 

x = 

x 

>> simplify(sqrt(x^2)/x) 

ans = 

1 
3

、あなたは、MATLABの道を示して支援する必要がある場合があります:

>> factor(x^9+7*x^8-2*x-6) 

ans = 

(x - 1)*(x^8 + 8*x^7 + 8*x^6 + 8*x^5 + 8*x^4 + 8*x^3 + 8*x^2 + 8*x + 6) 

>> ans/(x-1) 

ans = 

x^8 + 8*x^7 + 8*x^6 + 8*x^5 + 8*x^4 + 8*x^3 + 8*x^2 + 8*x + 6