[討論] 大陣列計算問題...已回收
請問板上的強者,
我的程式碼大約像如下:
H是6次方array
A = reshape(H, 1, N1*N2*N3*N4*N5*N6);
N1~N6是之前積分運算分割的參數。
我想對A裡的每一個數值做Lorenztian Lineshape:
如果不知道Lorenztian Lineshape,如下,
http://mathworld.wolfram.com/LorentzianFunction.html
x = linspace(3400,3600,1e3);(數值我確定都會落在這區間內)
w = 0.75 (這是lorenztian linewidth)
for i = 1:N1*N2*N3*N4*N5*N6
(x-A(i))./(((x-A(i)).^2+w^2).^2);
end
大概是這樣,其他還有一些加減乘除運算我沒放,
現在問題是如果 N1~N6若大,這個迴圈會變很慢,
但是我想了很久,想不出來有向量化的方法...
其他像是bsxfun等function也用過也沒比較快...
有人可以提點我一下嗎?
我問過指導教授,他說Matlab不適合做大數據運算,叫我可能要嘗試用其他語言,
請問是這樣嗎?那樣我就要學其他語言了...
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.44.41
推
10/07 20:26, , 1F
10/07 20:26, 1F
→
10/07 20:27, , 2F
10/07 20:27, 2F
→
10/07 20:28, , 3F
10/07 20:28, 3F
→
10/07 20:42, , 4F
10/07 20:42, 4F
推
10/07 20:42, , 5F
10/07 20:42, 5F
→
10/07 20:43, , 6F
10/07 20:43, 6F
→
10/07 20:44, , 7F
10/07 20:44, 7F
→
10/07 20:44, , 8F
10/07 20:44, 8F
→
10/07 20:45, , 9F
10/07 20:45, 9F
→
10/07 20:46, , 10F
10/07 20:46, 10F
→
10/07 20:47, , 11F
10/07 20:47, 11F
※ 編輯: anjackie 來自: 140.114.44.41 (10/07 20:54)
推
10/07 22:23, , 12F
10/07 22:23, 12F