我的问题是想要使用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 将成为此图表的轴。
非常感谢任何帮助。
答案 0 :(得分:1)
使用semilogy
或log
,取决于您希望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')