我已经写了一段代码但是当我试图更改贵重物品时,时间表(2,:)发生错误。我的代码:
clc;clear;
a = [1 2 3 4];
N = 3;
schedule(1,:) = kron(a,ones(1,N));% repeat 4 days
schedule(2,:) = repmat([1 2 3],1,4); % repeat time slots in each day %nums col rep
schedule(3,:) = randperm(12); % randomize 12 courses
schedule
是一种匹配日程安排(2,:)与其他人的长度的方法吗?例如,当other的长度为20时,schedule(2,:)不会超过20。这不是标准 感谢名单...
答案 0 :(得分:0)
当您更改day
和/或repeat
错误发生在
schedule(2,:) = repmat([1 2 3],1,4);
因为array
生成的repmat([1 2 3],1,4)
的大小始终具有相同的长度,而使用kron
和randperm
生成的数组的长度根据定义而变化day
和repeat
。
可能的解决方案是修改指令
schedule(2,:) = repmat([1 2 3],1,4);
如下:
schedule(2,:) = repmat([1:repeat],1,length(day))
此解决方案允许schedule(2,:)
具有相同的schedule(1,:)
和schedule(1,:)
长度。
希望这有帮助。