我們知道,對於matlab和julia 而言,預先賦值可以獲得更快的運算速度,特別是matlab. 由於julia 經常用循還解決相關問題,預先賦值使用的頻率相比matlab而言大大減小。不過,還是有一些地方,可能用到的,盡量不要使用cat 操作,效率低下,速度慢得很。這個原則,還僅是對於matlab 還是julia,基本上都管用。
和matlab不同,matlab往往是使用zeros(n,m)的方法對數值進行賦值,但不等對混合型別(有字串和數值混在一起的)進行賦值。
一、julia的賦值:是對array進行相應的操作而完成。
julia> a =array(string,1,7)
1x7 array:
#undef #undef #undef #undef #undef #undef #undef
julia> b =array(float64,1,7)
1x7 array:
0.0 0.0 0.0 0.0 0.0 0.0 0.0
julia> c=array(int64,1,7)
1x7 array:
0 0 0 0 0 0 0
julia> h =array(kbardata,10000) ; # 自定義型別kbardata的賦值,特別補充
有時,自定義型別還是很常見,對這個賦值有相當大的意義!
julia> e=array(any,3,7)
3x7 array:
#undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef
julia> f=array(int64,3,7)
3x7 array:
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
julia> g=array(string,3,7)
3x7 array:
#undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef
julia> c=array(string,3,7)
3x7 array:
#undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef
#undef #undef #undef #undef #undef #undef #undef
注意:一維array,就是乙個vector!
julia> g=array
array
julia> g=array(string,1)
1-element array:
#undef
julia> g=array(string,7)
7-element array:
#undef
#undef
#undef
#undef
#undef
#undef
#undef
總之,能賦值的就預先賦值,這樣可能比push!大大提高效率。
二、 盡可能替代cat函式
julia> table =["2014-9-17 15:19" 3260.0 700 3360.0 800 3620.0 12;"2014-9-18 15:
19" 3260.0 700 3360.0 800 3620.0 12]
2x7 array:
"2014-9-17 15:19" 3260.0 700 3360.0 800 3620.0 12
"2014-9-18 15:19" 3260.0 700 3360.0 800 3620.0 12
julia> tab =["2014-9-19 15:19" 3260.0 700 3360.0 800 3620.0 12]
1x7 array:
"2014-9-17 15:19" 3260.0 700 3360.0 800 3620.0 12
julia> b=vcat(table,tab)
3x7 array:
"2014-9-17 15:19" 3260.0 700 3360.0 800 3620.0 12
"2014-9-18 15:19" 3260.0 700 3360.0 800 3620.0 12
"2014-9-19 15:19" 3260.0 700 3360.0 800 3620.0 12
julia> @time newtable =vcat(table,table,table);
elapsed time: 0.102088118 seconds (1039984 bytes allocated)
僅管vcat效率比較低,,因為象matlab或julia的矩陣值儲存,事實上是按列來排位的,如果是vcat相當於需要精準地insert n個位置。
因此,我們盡量避開cat操作。
我個人建議,在這裡,可以使用循還,加快運算速度,當然,從功能上看,用cat操作簡單省事,但代價是時間。
對列表List進行賦值
今天講講python中對list進行賦值的方法,並會接下來給出例項和截圖詳解。這個問題源自於我想對乙個某乙個區間內的值進行均勻劃分成50份,對此,我想到了用list,並用迴圈賦值來實現.並將區間內的值用區間的中值來表示,很顯然,算出來的中值肯定會有很多的小數字數,所以我們需要對得到的數進行處理,保留...
使用numpy對矩陣進行運算
如下 encoding utf 8 importnumpyasnp fromnumpy.linalgimportinv fromnumpyimportdot fromnumpyimportmat a np.mat 1,1 建立乙個一行一列的矩陣 print a矩陣為 n a print a矩陣的轉置...
ajax無重新整理方式對form表單進行賦值!
把json資料填充到from表單中 form id editform action user.php 使用者名稱 input type text name usrname br input type text name address br 性別 input type radio name valu...