在Matlab中绘制具有表格的2D曲线

时间:2014-05-12 16:56:12

标签: c matlab

我想在下表中绘制现有值:

enter image description here

我希望有一条曲线,如下图所示:

enter image description here

这是我的代码:

clc
clear all
close all
time=0:0.225;    %time interval in s
Er=0:0.69;     %energy interval in J
M=[1 5 25 51.2 52428.8 104857.6 209715.2];%[20Byte 100Byte 500Byte 1kByte 1MByte    2MByte]

En=0.00653;        %energy for 20Byte in mJ
T=[0.000002125 0.000010 0.000053 0.000108 0.115 0.222];             %Time for 20Byte s
for i=1:length(M)
  for j=1:length(T)
  z(i,j)=(M(i)*En)+T(j);   %#ok<SAGROW>
end
end
grid on
semilogx(z, 'bo-')
%legend('20 Byte','100 Byte','500 Byte','1 KByte','1 MByte','2 MByte')
title('Comparison ','FontSize',11)
ylabel('Energy Consumption','FontSize',11)
xlabel('Time in second','FontSize',11)
grid on
hold all

您能告诉我如何实现与表格

相关的逻辑图表

1 个答案:

答案 0 :(得分:0)

你怎么忘记z而只是

semilogy(T,M)

或者如果你想:

semilogy(T,M*En)

或许你想要:

loglog(T,M*En)

从表格和图表中你可以得出它不是很清楚水平刻度是否应该是对数的,第一部分似乎是对数的,但随后逐渐减少。