2013-02-26 42 views
1

我在使用夾克時偶然發現了這個問題。GCOMPILE對GFOR的支持?

我在gfor循環中使用了編譯函數(用gcompile編譯)。這是爲了儘可能得到支持,因爲我知道:http://wiki.accelereyes.com/wiki/index.php/GCOMPILE

但我認爲,雖然未編譯功能提供正確的結果,在編譯函數給出了所有的GFOR迭代相同的輸出:

%================ 
% function[C] = test(A,B) 
% C = A+B; 
% end 
%================ 

testing = gcompile('test.m'); 

A = gdouble(1:1:10); 
B = gdouble(2:2:20); 
C1 = gzeros(10,1); 
C2 = gzeros(10,1); 

gfor l=1:10 
    C1(l) = test(A(l),B(l)); 
    C2(l) = testing(A(l),B(l)); 
gend 

的輸出是:

C1 = [3,6,9,12,15,18,21,24,27,30] (正確結果)

C2 = [3,3,3, 3,3,3,3,3,3,3]

您可以驗證/反駁我的結果嗎? 我在做什麼錯?

乾杯, 安吉拉

+0

比我們任何人都能回答的人是@Pavan ......我相信他很快就會失敗...... – bla 2013-02-27 06:42:47

回答

0

我能夠通過MATLAB運行外套重現此問題。看起來gcompile不能像GFOR那樣工作,並且文檔是錯誤的。對於那個很抱歉。

+0

這應該是一個評論。 – 2013-02-27 10:08:43

+0

您是否打算解決這個問題,或者您知道Matlab是否會在釋放它之後提供GCOMPILE/GFOR這樣的組合? – Angela 2013-03-01 09:48:11

+0

我們目前無法對Jacket源代碼進行更改。但是,有很多方法可以完成您正在做的事情 - GCOMPILE不一定是最好的或唯一的解決方案。事實上,GCOMPILE有許多限制,我相信你知道:http://wiki.accelereyes.com/wiki/index.php/GCOMPILE – Vish 2013-03-01 16:19:36