Matlab绘图:以任务数为横坐标,以T0和T1较大者为纵坐标的图像
使用Matlab绘制以任务数为横坐标,以T0和T1较大者为纵坐标的图像
本文将介绍如何使用Matlab绘制以任务数为横坐标,以T0和T1较大者为纵坐标的图像。以下是代码示例和详细说明:
代码:
f0 = 1000000000;
f1 = 5000000000;
C = 2000000;
z = 0;
Q = [5 10 15 20 25]; % 任务数作为自变量,确定随机数的生成个数
T = zeros(2, length(Q));
for s = 1:5
nums = randi([10000 50000], 1, Q(s)); % 随机数的生成,任务输入大小dn
sorted_nums = sort(nums); % 从小到大排序
for i = 1:Q(s)
T0 = 0;
T1 = 0;
for m = 1:i
c(m) = 1000 * sorted_nums(m);
T0 = T0 + c(m) / f0;
end
for n = i + 1:Q(s)
c(n) = 1000 * sorted_nums(n);
d(n) = sorted_nums(n);
T1 = T1 + d(n) / C + c(n) / f1;
end
if T0 >= T1
k = i;
break;
end
end
T(1, s) = T0;
T(2, s) = max(T0, T1);
end
figure;
plot(Q, T(1, :), '-o', Q, T(2, :), '-x');
xlabel('任务数');
ylabel('时间(秒)');
legend('T0', 'max(T0, T1)');
grid on;
步骤说明:
- 定义变量: 定义变量
Q
和T
,分别用于存储横坐标数据(任务数)和纵坐标数据(T0 和 T1 较大者)。 - 计算T0和T1: 使用嵌套循环计算不同任务数情况下 T0 和 T1 的值,并将较大者存入
T
矩阵。 - 绘制图像: 使用
plot
函数绘制图像,并将横坐标设置为Q
,纵坐标设置为T
。 - 添加图例和网格: 使用
legend
函数添加图例,使用grid on
函数添加网格线。
注意:
- 本代码示例中的
f0
,f1
,C
和z
变量在程序中没有被使用,您需要根据实际情况进行修改。 - 本程序中的
T
矩阵只存储了T0
和max(T0, T1)
的值,您也可以根据需要存储其他信息。
通过以上步骤,您可以成功使用Matlab绘制以任务数为横坐标,以T0和T1较大者为纵坐标的图像。
原文地址: http://www.cveoy.top/t/topic/jkuM 著作权归作者所有。请勿转载和采集!