【问题标题】:How to convert Matlab code to Delphi?如何将 Matlab 代码转换为 Delphi?
【发布时间】:2016-05-17 14:07:45
【问题描述】:

如何将这部分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;

【问题讨论】:

  • 了解这一点真的不需要太多研究。请在询问之前考虑搜索。

标签: matlab delphi code-translation


【解决方案1】:

您可以调用Random 函数来生成一个均匀分布的随机值。调用Randomize 一次会使Random 在每次运行中生成不同的值。

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

【讨论】:

  • 不要太频繁地调用 Randomize。很容易破坏随机性。启动时调用一次。此外,通常最好获得真正的 PRNG。
猜你喜欢
  • 2022-12-30
  • 2011-03-27
  • 2017-08-13
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多