【发布时间】:2025-04-27 07:50:02
【问题描述】:
我有一个随时间变化的16*1 向量,我想在每个时刻从这个向量中随机选择 11 个元素。但我希望在连续时间之间选择的元素尽可能不同。例如,如果元素1:11 在时间t 被选择,我希望元素12:16 在时间瞬间t+1 肯定是被选择的元素之一。从t+1 到t+2 应该满足相同的条件,以此类推。
这是我已经尝试过的:
N=16;
M=11;
for t=1:96
x(:,:,t)=randn(N,1)
end
for t=1:96
E = eye(M,N);
Phi(:,:,t)=E(randperm(M),randperm(N));
end
for t=1:96
y(:,:,t)=Phi(:,:,t)*x(:,:,t);
end
并在瞬间将Phi(:,:,t) 乘以我的16*1 向量t(x(t))。
但这完全是随机的,没有考虑两个连续时刻之间的选择多样性。事实上,每个x(:,:,t) 都包含 16 个传感器节点的读数,我希望所有这些传感器节点都能在两个时间点之间生成测量值y(:,:,t)。 我必须在时间段 t:t+1 内获得所有 16 个传感器节点的读数。我不希望在 [t:t+1] 中丢失一个传感器读数。感谢您的帮助。
【问题讨论】:
-
“最”、“肯定”非常不科学。您模糊地描述的是某种规则可以选择下一个,您能否更清楚地了解哪些约束?另外,请注意,一旦设置了约束,您就会失去随机性。如果随机性有时很重要,请注意你正在失去它
-
关于随机性,它会在其他地方显示出来(我希望),我并没有完全失去它。我只想要多样性。更清楚地说,我在上面定义了一个矩阵
Phi(:,:,t),它是 M*N,每行只有一个1,每列最多有一个1。我使用这个矩阵从我的16*1向量x(t)中随机选择11元素。下次(t+1)这个随机矩阵 Phi 发生变化并从x(t+1)中随机选择11元素。 -
我想你可能有XY problem. 你能告诉我们你想做什么,而不是你在尝试解决它时遇到的问题吗?另请注意,如果您失去随机性,它就不会“出现”。你把它弄丢了。
标签: matlab matrix vector random