matlab中的循环调度
这是我生成随机突发时间和优先级的代码,这里我得到的是重复的随机优先级。我需要优先权,不能重复。有人能帮我吗。?有人能帮我启动时间量子吗?您需要使用:matlab中的循环调度,matlab,round-robin,Matlab,Round Robin,这是我生成随机突发时间和优先级的代码,这里我得到的是重复的随机优先级。我需要优先权,不能重复。有人能帮我吗。?有人能帮我启动时间量子吗?您需要使用: clear all close all no_of_processors=5; task_matrix=zeros(no_of_processors,3); for i=1:no_of_processors Burst_time=randi(20); % Priority = minValue + (maxValue-minValue)*randi
clear all
close all
no_of_processors=5;
task_matrix=zeros(no_of_processors,3);
for i=1:no_of_processors
Burst_time=randi(20);
% Priority = minValue + (maxValue-minValue)*randi(5);
Priority=randi(5);``
task_matrix(i,:)=[i Burst_time Priority];
end
disp('Processors Burst_time Priority');
disp('....................................');
disp(task_matrix);
随机化前
rng(sd)使用非负整数sd对随机数生成器进行种子设定,以便rand、randi和randn生成可预测的数字序列
rng('shuffle')根据当前时间对随机数生成器进行种子设定,以便rand、randi和randn在每次调用rng后生成不同的数字序列
rng('shuffle');
创建数字1到5的随机排列,以避免重复值。是的,我这样做了,但当涉及到这一行“任务矩阵(I,:)=[I突发时间优先级];”时,它将错误显示为下标分配维度不匹配。
优先级=随机排列(没有处理器)
为所有五个处理器生成具有优先级的向量,您必须使用优先级(i)
谢谢您的帮助,但是我也得到了相同的重复优先级。您是如何获得重复值的?randperm的输出是唯一的。只要使用一个随机排列,就不可能得到重复的值。您正在生成多个独立排列,因此重复是可能的。在循环外生成置换一次。我使用了randperm,但在这一行“task_matrix(I,:)=[I Burst_time Priority];”中,它将错误显示为下标赋值维度不匹配。
randperm(no_of_processors)