【问题标题】:Examination program planning using MATLAB使用 MATLAB 进行考试计划规划
【发布时间】:2015-05-09 15:32:35
【问题描述】:

我想通过 MATLAB 创建一个程序。

作为所有考试项目,我们有三样东西;考试的开始时间、课程日期以及考试将在该日期和时间开始。我们在一个包含三个变量的数组中展示了这一点。

hour = [1 2 3];

时间显示为代码,例如,“1”表示考试开始的一小时,可以是上午 8 点到上午 10 点。对于“2”,可能是 10 到 12,而 3 可能是 15 到 17。
而我们天阵。指考试程序的举行范围。我选择了14天。

day = [1...14];

另一个字段是课程代码,这些被称为课程代码。例如代码 '1' 是 'Math' 并且...

Course = [1 … 42]; 

我想要日期和时间以及课程的可能组合,以便在一天和小时内选择一门课程时,它不会在同一天和小时内重复。还有,一门课或一天课满后,不要再用了,随机分布课是这样的:

Hour        1   2   3   1   2   3   1   2   3   1   2   3  ... 1   2   3
Day         1   1   1   2   2   2   3   3   3   4   4   4  ... 14  14  14
Course      11  33  12  42  10  1   2   3   9   19  7   40 ... 17   8  3   

【问题讨论】:

  • 只是为了澄清:除了每个小时/天是唯一的之外,没有其他限制?这只是在小时/天标识符和课程标识符之间建立随机链接的问题吗?这可能是 Matlab 中的单行代码,使用 2 或 3 个内置函数。能解释一下你卡在哪里了吗?
  • 使用randperm(course)怎么样?那应该可以解决问题,还是我遗漏了什么?
  • @NeilSlater :嗨,我认为这已经足够了,朋友。我只想要最终的数组没有重复和意外。当然是随机的,日期和时间和我说的一样。
  • @hbaderts 是的,课程是随机的,但必须对小时和天进行排序
  • @sajadkhammar:是的,问题已经清楚地解释了,但不清楚为什么你不能自己做。如果你能准确地解释你卡在哪里,而不是仅仅展示问题,那么答案可以解释更多,你会学到更多,而不仅仅是解决方案。

标签: matlab


【解决方案1】:

检查以下代码(感谢@hbaderts 的建议)。

schedule(3,:) = randperm(12); % randomize 12 courses
schedule(1,:) = repelem([1 2 3 4],3); % repeat 4 days
schedule(2,:) = repmat([1 2 3],1,4); % repeat time slots in each day

输出:

 1     1     1     2     2     2     3     3     3     4     4     4
 1     2     3     1     2     3     1     2     3     1     2     3
 5     2     6     4     9     8    12    11     7     1    10     3

【讨论】:

  • 感谢朋友Thankssssss。我有一个问题要执行,未定义的函数“repelem”用于“double”类型的输入参数。我的matlab是2012版。我会将我的 matlab 更新到 2015 以使用 repelem。我还有一个条件。您知道,对于标准计划,我们必须在一天零一小时内开始不止一项考试。例如,我们可以在“1”天和“1”小时开始课程 1,我们也可以在“1”天和“1”小时开始另一门考试作为“2”课程。你也能解决这个问题吗?非常感谢我的好朋友:)
  • @sajadkhammar,正如许多其他人在以前的 cmets 中建议的那样,现在请根据这些给定的输入进行尝试。我们都在这里度过我们的其他日程安排。您能给我们的最大感谢就是尝试提出您的问题/错误:-)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 2014-04-07
相关资源
最近更新 更多