#偽演算法
#假設初始值x0=零向量
#迴圈迭代條件可以設定為本次計算出來的y與上一次最大值的差距
#given x0
#for i=1,2,3……until converge do
# yi=ax(i-1)
# xi=yi/||yi||2
#end for
#計算後的x為特徵向量
#y1的最大值為最大特徵值
#num為迭代次數
#time為迭代時間
import numpy as np
import time
n=100
z = np.random.normal(10,1,n*n).reshape([n,n])
print("z=")
print(z)
x=np.ones(n)
y1=np.zeros(n)
y2=np.ones(n)
t=time.clock()
num=0
while abs(np.max(y1-y2))>0.00001:
num=num+1
y2 = y1
y1 = np.dot(z,x)
x = y1/np.linalg.norm(y1, ord=2)
t1=time.clock()
print("\ntotal time=")
print(t1-t)
print("\ntotal number=")
print(num)
print("\nlargest eigenvalue=")
print(np.max(y1))
print("\n corresponding eigenvector of z=")
print(x)
n=100時
n=1000時
第十一周作業
1 tabcontrol imagelist panel功能演示 2 timer picturebox splitcontainer contextmenustrip控制項功能演示 設定三個控制項的以下屬性和事件 a.picturebox控制項的三個屬性 picture.image 匯入資源 pic...
第十一周作業
漢諾塔問題 10 分 漢諾塔是乙個源於印度古老傳說的益智玩具。據說大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤,大梵天命令僧侶把圓盤移到另一根柱子上,並且規定 在小圓盤上不能放大圓盤,每次 只能移動乙個圓盤。當所有圓盤都移到另一根柱子上時,世界就會毀滅。請...
第十一周作業
這個作業屬於那個課程 c語言程式設計ii 這個作業要求在 我在這個課程的目標是 學習並熟練運用遞迴函式 這個作業在那個具體方面幫助我實現目標 完成漢諾塔問題 參考文獻 c語言程式設計ii 基礎作業 單選題 2 1巨集定義 define div a,b a b 經div x 5,y 5 引用,替換展開...