मैटलैब में सॉर्ट() कैसे काम कर रहा है? शुद्ध matlab में
कोड: matlab कैसे क्रमबद्ध करते हैं?
q = -0.2461 2.9531 -15.8867 49.8750 -99.1172 125.8438 -99.1172
49.8750 -15.8867 2.9531 -0.2461
q = sort(roots(q))
के बाद, मुझे मिल गया:
q = 0.3525 0.3371 - 0.1564i 0.3371 + 0.1564i 0.2694 - 0.3547i 0.2694 + 0.3547i 1.3579 - 1.7880i 1.3579 + 1.7880i 2.4410 - 1.1324i 2.4410 + 1.1324i 2.8365
ठीक है, ठीक से काम करने लगता है
क्ष एक सरणी है!
import numpy as np
q = np.sort(np.roots(q))
और मैं मिल गया:: फिर अजगर में, मैं का उपयोग करें (क्यू के रूप में ऊपर ही है, यह एक np.array
है)
[ 0.26937874-0.35469815j 0.26937874+0.35469815j 0.33711562-0.15638427j
0.33711562+0.15638427j 0.35254298+0.j 1.35792218-1.78801226j
1.35792218+1.78801226j 2.44104520-1.13237431j 2.44104520+1.13237431j
2.83653354+0.j ]
खैर ... इन दो परिणाम अलग हैं, जिसमें वे तरह अलग ढंग से लग रहे हैं , तो क्या कारण हैं? क्या मैंने कुछ गलत किया? आपका अग्रिम में ही बहुत धन्यवाद!
मेरा जवाब:
def sortComplex(complexList):
complexList.sort(key=abs)
# then sort by the angles, swap those in descending orders
return complexList
तो अजगर कोड में यह कहते हैं, ठीक काम करता है: SORT के लिए पी
कोशिश 'जड़ों (क्यू)' – Amro
@Amro [पेट (जड़ (क्यू)) argsort()।]: नहीं, कि नहीं होगा काम – serina
मैंने अभी कोशिश की .. (बेशक आपको आयात करने की आवश्यकता है उचित मॉड्यूल) – Amro