如何使用 Matlab 从线段生成 n 个样本
how to generate n samples from a line segment using Matlab
给定n个100个样本,我们如何使用matlab在下面的线段中生成这些随机样本
line_segement:
x 在-1 和 1 之间,y=2
如果你想在给定的限制之间生成 n
个随机样本(在你的问题 -1
和 1
中),你可以使用函数 rand
.
举个例子:
% Define minimum x value
x_min=-1
% Define maximum x value
x_max=1
% Define the number of sample to be generated
n_sample=100
% Generate the samples
x_samples = sort(x_min + (x_max-x_min).*rand(n_sample,1))
在示例中,调用 sort
函数对值进行排序,以便获得 ascendent
系列。
x_min
和 (x_max-x_min)
用于 "shift" 一系列随机值,使其属于所需的区间(在本例中为 -1 1
),因为 rand
returns 开区间上的随机数 (0,1)
.
如果你想要一个由随机样本和定义的常量y值组成的XY矩阵(2):
y_val=2;
xy=[x_samples ones(length(x_samples),1)*y_val]
plot([x_min x_max],[y_val y_val],'linewidth',2)
hold on
plot(xy(:,1),xy(:,2),'d','markerfacecolor','r')
grid on
legend({'xy segment','random samples'})
(图中为了看得更清楚,只画了20个样本)
希望这对您有所帮助。
给定n个100个样本,我们如何使用matlab在下面的线段中生成这些随机样本
line_segement:
x 在-1 和 1 之间,y=2
如果你想在给定的限制之间生成 n
个随机样本(在你的问题 -1
和 1
中),你可以使用函数 rand
.
举个例子:
% Define minimum x value
x_min=-1
% Define maximum x value
x_max=1
% Define the number of sample to be generated
n_sample=100
% Generate the samples
x_samples = sort(x_min + (x_max-x_min).*rand(n_sample,1))
在示例中,调用 sort
函数对值进行排序,以便获得 ascendent
系列。
x_min
和 (x_max-x_min)
用于 "shift" 一系列随机值,使其属于所需的区间(在本例中为 -1 1
),因为 rand
returns 开区间上的随机数 (0,1)
.
如果你想要一个由随机样本和定义的常量y值组成的XY矩阵(2):
y_val=2;
xy=[x_samples ones(length(x_samples),1)*y_val]
plot([x_min x_max],[y_val y_val],'linewidth',2)
hold on
plot(xy(:,1),xy(:,2),'d','markerfacecolor','r')
grid on
legend({'xy segment','random samples'})
(图中为了看得更清楚,只画了20个样本)
希望这对您有所帮助。