-1

给定n个100个样本,我们如何使用matlab在下面的线段中生成这些随机样本

线段:

x 介于 -1 和 1 之间,y=2

4

1 回答 1

2

如果您想n在给定限制(在您的问题-11)之间生成随机样本,您可以使用函数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)用于“移动”一系列随机值,使其属于所需的区间(在这种情况下-1 1),因为rand在开区间返回随机数(0,1)

如果您想要一个由随机样本和定义的常数 y 值 (2) 组成的 XY 矩阵:

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个样本,更清楚)

在此处输入图像描述

希望这可以帮助。

于 2015-10-18T16:46:22.650 回答