白酒要aging三個禮拜,聖誕節前後看看會怎樣?


 


躺在客廳沙發,睡了一回。


 


起來,重新看Matlab呼叫C++的問題。


 


找到一個很小的程式,竟然,用的不是正宗的C++寫法,而是另外一種寫法!


 


把程式全部改掉,成功了!


 


Matlab呼叫C++,送出兩個常數,兩個1×N的矩陣,C++做二維矩陣運算,之後送回三個M×N的矩陣。


 


原來如此!


 


做筆記如下:


 


在用MATLAB呼叫C++時,被gateway wrap起來之C++程式中,M×N 矩陣計算應使用以下寫法:


 


count=0;


for (i=0; i<N; i++)             // column


  for (j=0; j<M; j++) {         // row 後,實際上是先計算row


     /*計算betaE*/


     temp=1/betaC+1/betaL+air[i]/betaG[j];        


 


     *(betaE+count)=1/temp;


         count++;            // Achtung !, use count++


  }


 


而非以下:


for (i=0; i<N; i++)


for (j=0; j<M; j++) {


     /*計算betaE*/


   temp=1/betaC+1/betaL+air[i]/betaG[j];        


*(*(betaE+j)+i)=1/temp;


// multi[row][col]  or  *(*(multi + row) + col)


 }


 


 


 



arrow
arrow
    全站熱搜

    海歌 發表在 痞客邦 留言(0) 人氣()