C# Matlab中Rand和Randn函数的源代码

C# Matlab中Rand和Randn函数的源代码,c#,matlab,random,C#,Matlab,Random,我是以色列Ariel大学的学生,我正在尝试用C#实现Matlab RAND和RANDN,这样Matlab和C#的相同输入(使用相同的种子),RANDN和RAND将在两种语言中给出相同的结果 例如: 在Matlab中: rand('seed',123) disp(rand) 产量:0.0878 在C#中: 产量:0.0878 我认为要实现这种功能,我需要在Matlab中有RAND和RANDN的源代码。是否有人拥有此代码并可以共享 非常感谢 Shimon但是如果你输入 edit rand.m 进

我是以色列Ariel大学的学生,我正在尝试用C#实现Matlab RAND和RANDN,这样Matlab和C#的相同输入(使用相同的种子),RANDN和RAND将在两种语言中给出相同的结果

例如:

在Matlab中:

rand('seed',123)
disp(rand)
产量:0.0878

在C#中:

产量:0.0878

我认为要实现这种功能,我需要在Matlab中有RAND和RANDN的源代码。是否有人拥有此代码并可以共享

非常感谢


Shimon

但是如果你输入

edit rand.m
进入Matlab命令窗口,然后

edit randn.m

我想你会得到Mathworks发布的关于这些函数的信息。这些信息指向所使用的算法,对于
rand
来说,也是一个实现。

但如果您键入

edit rand.m
进入Matlab命令窗口,然后

edit randn.m

我想你会得到Mathworks发布的关于这些函数的信息。这些信息指向所使用的算法,对于
rand
来说,也是一个实现。

但如果您键入

edit rand.m
进入Matlab命令窗口,然后

edit randn.m

我想你会得到Mathworks发布的关于这些函数的信息。这些信息指向所使用的算法,对于
rand
来说,也是一个实现。

但如果您键入

edit rand.m
进入Matlab命令窗口,然后

edit randn.m

我想你会得到Mathworks发布的关于这些函数的信息。这些信息指向所使用的算法,对于
rand
来说,也是一个实现。

Randn是我所知的MarsenneTwister。为了验证这一点,我首先尝试使用Apache中的MarsenneTwister并检查类似的结果:


如果是:搜索任何实现。这个算法应该记录在案。

据我所知,Randn是MarsenneTwister。为了验证这一点,我首先尝试使用Apache中的MarsenneTwister并检查类似的结果:


如果是:搜索任何实现。这个算法应该记录在案。

据我所知,Randn是MarsenneTwister。为了验证这一点,我首先尝试使用Apache中的MarsenneTwister并检查类似的结果:


如果是:搜索任何实现。这个算法应该记录在案。

据我所知,Randn是MarsenneTwister。为了验证这一点,我首先尝试使用Apache中的MarsenneTwister并检查类似的结果:

如果是:搜索任何实现。应记录此算法。

执行以下操作:

>> s = RandStream.getGlobalStream()

s = 


mt19937ar random stream (current global stream)
             Seed: 0
  NormalTransform: Ziggurat
您给出了随机数生成器算法和用于获取正态分布数的转换。 这两种算法都是公开的。 谷歌为您提供的信息如下:

描述两种算法,包括参考/示例实现。

执行:

>> s = RandStream.getGlobalStream()

s = 


mt19937ar random stream (current global stream)
             Seed: 0
  NormalTransform: Ziggurat
您给出了随机数生成器算法和用于获取正态分布数的转换。 这两种算法都是公开的。 谷歌为您提供的信息如下:

描述两种算法,包括参考/示例实现。

执行:

>> s = RandStream.getGlobalStream()

s = 


mt19937ar random stream (current global stream)
             Seed: 0
  NormalTransform: Ziggurat
您给出了随机数生成器算法和用于获取正态分布数的转换。 这两种算法都是公开的。 谷歌为您提供的信息如下:

描述两种算法,包括参考/示例实现。

执行:

>> s = RandStream.getGlobalStream()

s = 


mt19937ar random stream (current global stream)
             Seed: 0
  NormalTransform: Ziggurat
您给出了随机数生成器算法和用于获取正态分布数的转换。 这两种算法都是公开的。 谷歌为您提供的信息如下:


描述这两种算法,包括参考/示例实现。

由于您的问题只提到获得相同的结果,因此我建议使用以下方法之一:

  • 生成大量随机数,然后在两种编程语言中逐个使用它们
  • 用两种语言实现您自己的(简单的)随机生成器

  • 由于你的问题只提到获得相同的结果,我建议采取以下措施之一:

  • 生成大量随机数,然后在两种编程语言中逐个使用它们
  • 用两种语言实现您自己的(简单的)随机生成器

  • 由于你的问题只提到获得相同的结果,我建议采取以下措施之一:

  • 生成大量随机数,然后在两种编程语言中逐个使用它们
  • 用两种语言实现您自己的(简单的)随机生成器

  • 由于你的问题只提到获得相同的结果,我建议采取以下措施之一:

  • 生成大量随机数,然后在两种编程语言中逐个使用它们
  • 用两种语言实现您自己的(简单的)随机生成器

  • 你站在一个公共场所,要求某人通过提供专有源代码来触犯法律。一、 首先,我将与这样一个企业无关。除非我得到丰厚的回报。兰德公司默认使用mersenne twister算法,基本上你能找到的每种编程语言都可以使用。我不认为你会得到源代码,但你可以在文档中看到它们使用的算法:但是如果它们是参数化的,那么我怀疑你能否准确地复制它们的实现。忽略您的速度要求,我建议使用Matlab.NET编译器,只使用Matlab的(因为我假设您这样做是为了比较随机算法)注意,
    rand('seed',123)
    不再是Matlab最新版本的推荐语法。如果你试图复制他们的代码,我建议你关注最新版本。你站在一个公共场所,要求有人通过提供专有源代码来触犯法律。一、 首先,我将与这样一个企业无关。好吧,除非我