2012-03-29 80 views
1
gx = gpuArray(uint8(X)); 
gtm = gpuArray(uint8(tm)); 
gx = arrayfun(bitxor,gtm,gx); 

錯誤:GPU BITXOR在MATLAB

Error using ==> bitxor 
Not enough input arguments. 

Error in ==> Encryption at 57 
gx = arrayfun(bitxor,gtm,gx); 

我得到上面的錯誤如果我嘗試執行代碼。有人請幫助我。

回答

1

的第一個參數arrayfun必須是function handle,像這樣:

gx = arrayfun(@bitxor, gtm, gx); 

您收到此錯誤信息是因爲你問過MATLAB執行bitxor沒有輸入參數,並將結果傳遞作爲arrayfun的第一個參數。

在這種情況下,你不需要arrayfun呼叫可言,並且可以簡單地執行

gx = bitxor(gtm, gx);