我很想用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);
答案 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)。
另外,我认为你发布的矢量维度代码中存在错误。你应该验证你想要绘制的内容。