±Ùµ¥.... óÀ½¿¡ ¸¸µé¾ú´ø ÆÄÀ̽㠷çƾº¸´Ù 3¹è °¡±îÀÌ ½Ã°£ÀÌ °É¸³´Ï´Ù... (ÆÄÀ̼± 9ºÐ´ë, C 25ºÐ´ë)
À̸®Àú¸® ¿¬±¸¸¦ Á» Çغôµ¥ ÆÄÀ̽㿡¼´Â 'ÆíÇÏ°Ô' Numpy array ¸¦ »ç¿ëÇؼ º¤ÅÍ¿¡ ´ë°í¼ ±×³É °è»êÀ» ÇÑ ¹Ý¸é¿¡, C ·çƾ¿¡¼´Â ¸ðµç °ªµéÀ» for loop µÎ°³ µ¹·Á¼ ÈÈÀ¸¸ç °è»êÇÑ°Ô ´À¸°°Å °°½À´Ï´Ù.
¾Æ¸¶, for loop µÎ°³ µ¹¸®´Â°Ô ÈξÀ ´À¸°°Å¶ó »ý°¢µÇ´Âµ¥ ¿ø·¡ ÀÌ·±°Ç°¡¿ä...?
1) Python
f = np.zeros(len(delnu))
f1 = np.zeros(len(delnu))
for j in range(len(hitran_data)):
f1 = inten[j] * ((1/np.pi)*(gamma[j]/(gamma[j]**2 + (delnu - (nu[j] + delar[j]*prs/1013))**2)))
f = f1 + f
Âü°í delnu »çÀÌÁî : 1900000, hitran »çÀÌÁî : 19615
2) C
for(i=0;i<lines;i++)
for(j=0;j<delnu_size;j++)
{
f[j] += inten[i] * ((1.0/pi) * (gamma[i] / (pow(gamma[i],2.0) + pow(delnu[j] - (nu[i] + del_air[i]*prs/1013.0),2.0))));
}
Âü°í delnu_size »çÀÌÁî : 1900000, lines »çÀÌÁî : 19615
Ȥ½Ã Á¦°ö½Â ³ªÅ¸³»´Â pow() ÇÔ¼ö°¡ ´À¸°°É±î¿ä?
Àâ´ã | 1337¸íÀÌ Àоú¾î¿ä. 3.143.0.134