【发布时间】:2014-09-06 03:44:30
【问题描述】:
在下面的代码中,我想生成 7 个随机起点。然后我想取这些起点并在矩阵 Delta 中选择与第一个随机选择的起点相对应的列号。然后,我还包括该列之后的接下来的 47 列。然后我应该使用下一个随机起点,从 Delta 中选择相应的列,然后再次包含以下 47 列。以此类推,直到使用完所有随机起点。
问题是当我使用下面的代码时,它只适用于第一个随机起点而忽略其余的?
这可以在不循环的情况下完成吗?
LogData=log(data);
Delta=diff(LogData,1,2);
max_t=size(Delta,2);
Start_YC=LogData(:,max_t);
Urnd=randi(max_t,7,1);
SRtns=Delta(:,Urnd:Urnd+47);
【问题讨论】:
-
循环迭代之间可以有重叠列吗?
-
是的(可能不理想,但算法并没有禁止)
-
顺便说一句,你的循环在哪里?您说要取消不可见的循环。
-
我正在尝试不使用循环,如果您将最后一行替换为 SRtns=Delta(:,Urnd);然后它可以工作,但只为您提供 7 个起始列。我曾希望无需循环即可获得完整版本的工作
-
7 或 randi(max_t,7,1) 的第二个参数的大小恰好是
标签: matlab