--- 這不關range(3)的事,
創(chuàng)新互聯(lián)公司主營樺甸網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,App定制開發(fā),樺甸h5成都小程序開發(fā)搭建,樺甸網(wǎng)站營銷推廣歡迎樺甸等地區(qū)企業(yè)咨詢
要看M的值,
M[0][0]=1
M[0][1]=2
M[0][2]=3
M[1][0]=4
M[1][1]=5
M[1][2]=6
M[2][0]=7
M[2][1]=8
M[2][2]=9
res=[]
for row in range(3):
for col in range(3):
#這里取 M 的值,賦值給res變量 ,M的值并沒有改變
res.append(M[row][col])
#這里輸出的是M的值
print M
由 m × n 個數(shù)aij排成的m行n列的數(shù)表稱為m行n列的矩陣,簡稱m × n矩陣。在數(shù)學中,矩陣(Matrix)是一個按照長方陣列排列的復數(shù)或實數(shù)集合,最早來自于方程組的系數(shù)及常數(shù)所構成的方陣。這一概念由19世紀英國數(shù)學家凱利首先提出。矩陣是高等代數(shù)學中的常見工具,也常見于統(tǒng)計分析等應用數(shù)學學科中。在物理學中,矩陣于電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫制作也需要用到矩陣。 矩陣的運算是數(shù)值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和準對角矩陣,有特定的快速運算算法。關于矩陣相關理論的發(fā)展和應用,請參考矩陣理論。在天體物理、量子力學等領域,也會出現(xiàn)無窮維的矩陣,是矩陣的一種推廣。
因為在Mathematica中使用循環(huán)確實是低效的。。。。。。
深層次的原因涉及到Mathematica的底層實現(xiàn)所以我不太懂,但是至少從下面幾個例子可以看出Mathematica里確實有很多比循環(huán)更好的方法
求和
首先舉一個最簡單的求和例子,求的值。為了測試運行時間取n=10^6
一個剛接觸Mathematica的同學多半會這樣寫
sum = 0;
For[i = 1, i = 10^6, i++,
sum += Sin[N@i]];
(*其中N@i的作用是把整數(shù)i轉化為浮點數(shù),類似于C里的double*)
sum
為了便于計時用Module封裝一下,運行時間是2.13秒,如下圖
然后一個有一定Mathematica經(jīng)驗的同學多半會知道同樣作為循環(huán)的Do速度比For快,于是他可能會這么寫
然后一個有一定Mathematica經(jīng)驗的同學多半會知道同樣作為循環(huán)的Do速度比For快,于是他可能會這么寫
sum = 0;
Do[sum += Sin[N@i], {i, 1, 10^6}];
sum