2012-01-04 17 views
6

में री [x] के परिणामस्वरूप एक्स प्राप्त करें मैं एक ऑपरेशन के परिणाम का वास्तविक हिस्सा प्राप्त करने की कोशिश कर रहा हूं जिसमें एक अपरिभाषित चर शामिल है (मान लें x)।गणित

मैथमैटिका रिटर्न x कैसे हो सकता है जब मैं Re[x] निष्पादित करता हूं यदि मुझे पता है कि x कभी जटिल संख्या नहीं होगी? मुझे लगता है कि इसमें गणित को बताया गया है कि x एक असली है, लेकिन मुझे नहीं पता कि कैसे।

मेरे मामले में जिस अभिव्यक्ति के लिए मैं वास्तविक भाग चाहता हूं वह एक साधारण चर से अधिक जटिल है, लेकिन अवधारणा वही रहेगी।

कुछ उदाहरण:

INPUT    OUTPUT   DESIRED RESULT 
-----    ------   -------------- 
Re[x]    Re[x]   x 
Re[1]    1    1 
Re[Sin[x]]   Re[Sin[x]]  Sin[x] 
Re[1+x+I]   1 + Re[x]  1+x 
Re[1 + x*I]  1-Im[x]  1 

उत्तर

13

आप उदाहरण के इनपुट Simplify[Re[x], x \[Element] Reals] जो आउटपुट के रूप में x दे देंगे के लिए उपयोग कर सकते हैं।

13

उपयोग ComplexExpand। यह मानता है कि चर वास्तविक हैं जबतक कि आप अन्यथा इंगित न करें। उदाहरण के लिए:

In[76]:= ComplexExpand[Re[x]] 
Out[76]= x 

In[77]:= ComplexExpand[Re[Sin[x]]] 
Out[77]= Sin[x] 

In[78]:= ComplexExpand[Re[1+x+I]] 
Out[78]= 1+x 
+0

और तुम ComplexExpand हर समय आप $ कर सकता टाइपिंग को बचाने के लिए चाहते हैं, तो पोस्ट = ComplexExpand; पहले और फिर {रे [एक्स], रे [पाप [एक्स]], रे [1 + एक्स + आई], रे [1 + एक्स * आई]} {x, पाप [x], 1 + x, 1 का मूल्यांकन करता है } –

+3

@ रॉल्फ सही और आसान यहाँ, मैं सहमत हूं। हालांकि आम तौर पर, मैं '$ Pre' या' $ पोस्ट' का उपयोग करने से बचने की कोशिश करता हूं क्योंकि उनके बारे में भूलना आसान है, और आपको अप्रत्याशित परिणाम मिलना शुरू हो जाता है। –

5

दो और संभावनाओं:

Assuming[x \[Element] Reals, Refine[Re[x]]] 

Refine[Re[x], x \[Element] Reals] 

दोनों x लौट आते हैं।

1

कभी-कभी प्रतीक के लिए UpValues को परिभाषित करने में उपयोगी हो सकता है। यह मजबूत से बहुत दूर है, लेकिन फिर भी यह कई मामलों को संभाल सकता है।

Re[x] ^= x; 
Im[x] ^= 0; 

Re[x] 
Re[1] 
Re[1 + x + I] 
Re[1 + x*I] 

एक्स

1 + x

के रूप में आप की इच्छा

Re[Sin[x]] का मूल्यांकन नहीं है, लेकिन FullSimplify द्वारा प्रयोग किया जाता परिवर्तनों में से एक करता है इसे एक रूप में रखें जो ट्रिगर करता है Re[x]:

Re[Sin[x]] // FullSimplify 
Sin[x]