MatLab绘制多个数据集(相同图形)

时间:2017-04-06 05:39:48

标签: matlab plot graph

我的问题是想要使用MatLab绘制信息。我遇到了很多麻烦,因为我对平台很新。

我想绘制这些信息,其中x是线性缩放的,y是按比例缩放的。我还想用下面提供的信息绘制2 ^ n

   n         Original           Improvement 1       Improvement2  
  10        1,198,861               2,127,920          1,900,916 
  30        2,501,876               2,086,086          8,255,021 
  50       69,448,535              18,677,001          3,429,279 
  70       67,754,271              22,712,979         33,856,555 
  90      282,232,302              33,509,532         80,645,811 
 110   52,066,961,922           5,452,933,038      1,544,349,121 
 130   13,900,123,332          67,027,087,188      3,786,963,385 

我需要绘制此日期的图表,以便检查Original,Improvement1和improve2以及2 ^ n

的不同值

日志 n 将成为此图表的轴。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

使用semilogylog,取决于您希望y轴看起来如何:

data = [  10        1198861               2127920          1900916 ;
    30        2501876               2086086          8255021 ;
    50       69448535              18677001          3429279 ;
    70       67754271              22712979         33856555 ;
    90      282232302              33509532         80645811 ;
    110   52066961922           5452933038      1544349121 ;
    130   13900123332          67027087188      3786963385 ];

n = data(:,1);
Original = data(:,2);
Improvement1 = data(:,3);
Improvement2 = data(:,4);
nsqr = n.^2;

subplot(121);
semilogy(n,Original,n,Improvement1,n,Improvement2,n,nsqr);
xlim([n(1) n(end)]);
legend('Original','Improvement1','Improvement2','n^2');
title('using semilogy')

subplot(122);
plot(n,log(Original),n,log(Improvement1),n,log(Improvement2),n,log(nsqr));
xlim([n(1) n(end)]);
legend('Original','Improvement1','Improvement2','n^2');
title('using log')

enter image description here