2016-02-07 150 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。 –