如何使用matlog绘制两个单独的图表与loglog?

时间:2018-05-06 12:22:16

标签: matlab factorial loglog

我很想用matlab绘制两个函数:

y1=ln(n!)y2=ln(n)*n 当n是这样的向量时:n=1:100 我想在同一个图形中绘制这两个函数,然后在另一个图形上绘制另一个函数:((y2-y1)/y1)我做了以下但是它只显示了第一个只有一个函数的图形,任何帮助我做错了什么?感谢。

n=1:100;
format long
n_factorial=factorial(n);
y1 =log(n_factorial);
figure;
loglog(n,y1,'b');
hold on;
y2=(n*(log(n)'));
loglog(n,y2,'r');

y3=((y2-y1)/y1);
loglog(n,y3);

1 个答案:

答案 0 :(得分:0)

您可以使用两种不同的方法绘制多个图形。

如果要在两个不同的窗口上绘制两个不同的图形,则应添加以下行:

figure;

每次你想在新窗口上绘图。 在您的代码中,您现在应该

figure;
loglog(n,y1,'b'); hold on;
loglog(n,y2,'r');

figure;
loglog(n,y3);

如果你想在同一个'数字'上绘制两个不同的图形,你应该使用命令子图,如下:

subplot(2,1,1);
loglog(n,y1,'b'); hold on;
loglog(n,y2,'r');

subplot(2,1,2);
loglog(n,y3);

基本上将窗口的区域划分为2行和1行,并为每个位置指定使用subplot命令的第3个参数指定的索引(在本例中为1& 2)。

另外,我认为你发布的矢量维度代码中存在错误。你应该验证你想要绘制的内容。