如何用 matlab 用 loglog 绘制两个单独的图形?
how to draw with matlab two seprate graphs with 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);
您可以使用两种不同的方法来绘制多个图形。
如果你想在两个不同的 window 上绘制两个不同的图形,你应该添加行:
figure;
每次您想绘制新的 window。
在您的代码中,您现在应该有
figure;
loglog(n,y1,'b'); hold on;
loglog(n,y2,'r');
figure;
loglog(n,y3);
如果你想在同一个'figure'上绘制两个不同的图,你应该使用命令subplot,像这样:
subplot(2,1,1);
loglog(n,y1,'b'); hold on;
loglog(n,y2,'r');
subplot(2,1,2);
loglog(n,y3);
基本上将 window 的区域分成两行和一行,并为每个位置指定一个索引(在本例中为 1 和 2),您使用子图的第三个参数指定该索引命令。
此外,我认为您发布的向量尺寸代码有误。你应该验证你想要绘制什么。
我正在用 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);
您可以使用两种不同的方法来绘制多个图形。
如果你想在两个不同的 window 上绘制两个不同的图形,你应该添加行:
figure;
每次您想绘制新的 window。 在您的代码中,您现在应该有
figure;
loglog(n,y1,'b'); hold on;
loglog(n,y2,'r');
figure;
loglog(n,y3);
如果你想在同一个'figure'上绘制两个不同的图,你应该使用命令subplot,像这样:
subplot(2,1,1);
loglog(n,y1,'b'); hold on;
loglog(n,y2,'r');
subplot(2,1,2);
loglog(n,y3);
基本上将 window 的区域分成两行和一行,并为每个位置指定一个索引(在本例中为 1 和 2),您使用子图的第三个参数指定该索引命令。
此外,我认为您发布的向量尺寸代码有误。你应该验证你想要绘制什么。