Matlab:缩放范围

时间:2016-02-26 08:00:33

标签: matlab matrix distribution

// loading html content from remote url $html = file_get_contents("http://nepalpati.com/entertainment/22577/"); @$dom->loadHTML($html); ... $classname = 'content'; $img_sources = []; // getting all images within div with class "content" $content = $finder->query("//div[@class='$classname']/p/img"); foreach ($content as $img) { $img_sources[] = $img->getAttribute('src'); } ... var_dump($img_sources); // the output: array(2) { [0]=> string(68) "http://nepalpati.com/mediastorage/images/2072/Falgun/khole-selfi.jpg" [1]=> string(72) "http://nepalpati.com/mediastorage/images/2072/Falgun/khole-hot-selfi.jpg" } 在[-1,1]范围内创建一系列正态分布。

我想通过在3个子区域[-1,0,1]中表示上述范围来指定字符或数字,例如“1”,“0”,“ - 1”。我无法理解我是如何做到的。我可以在x = randn(100,1)分为3个子区域x = rand(100,1)

时进行统一分发
[0,1/3],(1/3,2/3],(2/3,1]

有人可以说明当从正态分布生成数字时如何应用相同的技术吗?

1 个答案:

答案 0 :(得分:2)

正如@Tal所说,正态分布范围从-Inf+Inf

此外,您的代码并未反映您在范围方面的解释。

当您更正范围时,可以使用矩阵索引来分配没有for循环的值(这将更有效)。

例如:

此代码将指定:

  • -1到范围(-Inf,-1 / 3)
  • 0到范围[-1 / 3,1 / 3]
  • 1到范围(1/3,+ Inf)

x(x < -1/3) = -1;
x((x <= 1/3) & (x ~= -1)) = 0;
x(x > 1/3) = 1;

请注意,这是因为-1&lt; -1/3,因此第一个分配与第二个分配不重叠。否则你需要一个辅助变量。