白酒要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)
}