【问题标题】:Generate coordinate points with circle pattern points in Octave在 Octave 中生成带有圆形图案点的坐标点
【发布时间】:2017-09-30 04:03:57
【问题描述】:

我想用这些模式生成 300 个红色和蓝色坐标点样本。 对 x 使用 rand(),然后使用勾股定理计算 y 并没有帮助,因为对于相同的 x,我们可以有不同的 y。

【问题讨论】:

  • 我建议在极坐标中生成,然后在需要时转换为笛卡尔坐标。无论如何,你的问题不清楚。您应该包括您尝试的代码。此外,圆圈没有正确指定。例如,红色的应该有多少厚度?
  • 感谢您的评论。但这也是我得到的答案。我无法提供更多信息。

标签: matlab random octave


【解决方案1】:

按照 Luis Mendo 的建议,您可以使用 matlab 的典型rand 函数在polar coordinates 中生成随机点,如下所示:

figure
hold on

red = sampleCircle([1.4 1.6], 300);
plot(red(:, 1), red(:, 2), 'r*');

blue = sampleCircle([0 0.5], 300);
plot(blue(:, 1), blue(:, 2), 'b*');

function X = sampleCircle(rangeR, n)
  r = rand(n, 1) * diff(rangeR) + rangeR(1);
  theta = rand(n, 1) * 2*pi;

  X = r .* [cos(theta) sin(theta)];
end

【讨论】:

  • 谢谢,千万别想极坐标。由于问题没有进一步说明,我看到您假设圆的宽度和这些范围之间的均匀随机数,但是在蓝色类中看到一些异常值,我正在考虑基于一些我不知道的分布函数的随机生成的。我想知道这个练习是否可以通过一些分布函数来解决。
  • 你不断提到一个练习或答案,就好像这是给你的一个问题。当您没有传达您要解决的实际问题时,您不能指望我们提供令您满意的答案
  • 尝试在 Matlab 中使用另一个随机生成器。您应该能够使用您最喜欢的搜索引擎找到一个。
猜你喜欢
  • 1970-01-01
  • 2023-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
相关资源
最近更新 更多