2016-02-07 190 views
0

如何將這部分Matlab代碼轉換爲Delphi?如何將Matlab代碼轉換爲Delphi?

for i=1:popsize 
    fi=rand(1,dimension); % Generate a vector of uniform random numbers 
    p=pbest(i,:); 
    pbest(i,:)=x(i,:); 
end 

我的代碼:

for i:= 1 to popsize do 
begin 
    fi:= // which function generates vector of uniform random numbers in Delphi? 
    for k :=1 to popsize do 
    begin 
    p:=pbest(i,k); 
    pbest(i,k):=x(i,k); 
    end; 
end; 
+1

真的不需要太多的研究來了解這一點。請在考慮之前考慮搜索。 –

回答

1

你可以調用Random函數產生一個均勻分佈的隨機值。調用Randomize一次會使Random在每次運行中生成不同的值。

var 
    fi: array of Double; 
    J: Integer; 
begin 
    Randomize; 
    for J := 0 to dimension - 1 do 
    fi[J] := Random; 
end; 
+0

不要經常調用Randomize。很容易破壞隨機性。在啓動時調用一次。此外,通常更好地獲得一個真正的PRNG。 –