Как нарисовать с Matlab два отдельных графиков с журналом? - PullRequest
0 голосов
/ 06 мая 2018

Я хочу нарисовать с помощью 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 голосов
/ 07 мая 2018

Существует два разных метода, которые вы можете использовать для рисования нескольких графиков.

Если вы хотите нарисовать два разных графика в двух разных окнах, вы должны добавить линию:

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 и 2), который вы указываете с помощью третьего параметра команды subplot.

Кроме того, я думаю, что в коде, который вы разместили, есть ошибка для измерений ваших векторов. Вы должны проверить, что вы хотите построить.

...