如何用python以二維陣列的特徵向量為主軸 特徵值為軸長度,畫橢圓?

時間 2021-05-29 23:19:29

1樓:

fig = plt.figure(figsize=(10,10))

ax = fig.add_subplot(111)

for imat in range(10):

randmat = random.uniform(0,1, 4).reshape(2,2)

randmat[0][1] = randmat[1][0]

vals, vs = eig(randmat)

if vals[0]<0 or vals[1]<0:

continue

v1, v2 = vs[0,1], vs[1,1]

#print('v1, v2, mat.[v1v2] = ', v1, v2, matmul(randmat, array([v1,v2])))

rotmat = array([[v1,-v2],[v2,v1]])

XYs =

#print(vals, vs)

#for t in np.linspace(0,2*pi, 1000):

# x, y = cos(t)*vals[0], sin(t)*vals[1]

# x2 = x*v1-y*v2

# y2 = x*v2+y*v1

XYs = [ matmul(rotmat, array([cos(t)*vals[0], sin(t)*vals[1]])) for t in np.linspace(0,2*pi,1000)]

XYs = array(XYs)

X = XYs[:,0]; Y = XYs[:,1]

ax.plot(X,Y)

ax.grid()

ax.scatter([0],[0])

如何理解一維指標陣列指向二維指標

szouc 兩個重要的基本概念偶爾會在教材中被忽視。1.陣列名出現在表示式中會隱式轉換成指向該陣列第乙個元素的常量指標。特殊情況暫忽略。2.解引用 運算子與下標 運算子等價,a 3 a 3 c 2 4 c 2 4 c 2 4 題目中 int c 4 是指標陣列,當陣列名 c 出現在表示式中,根據 1...

2021 03 20 給定乙個二維陣列matrix,其中的值不是0就是1,返回全部由 如何解答呢?

mathe 我們可以先考慮計算每個1它左邊包含自身連續的1的數目 如果它本身為0,那麼計數也設定為0 比如對於矩陣 0110111 1100011 1110011 0111100 計數結果為 0120123 1200012 1230012 0123400 然後依次分析每一列 比如第一列有兩個連續的1...

C語言指標 二維陣列,為啥會這樣?

沒明白你不理解的點在哪,我猜是單純糾結於為什麼要寫成0 COLS 0而不直接寫0。答案是直接寫0也可以,其實是為了統一下格式,就是乘號,結果上和直接寫0沒區別。int a 0 COLS 0 int a 1 COLS 2 int a 3 COLS 2 統一成這種格式而已。沒啥講究的,還是 指標 破數字...