2016-03-22 2 views
0

У меня много частиц в коробке, координаты х, у, г и диаметрd тех, кто в файл данных.кратно в формате PDF (функция плотности вероятности) кривые вдоль одной оси в пределах одного участка

Я могу построить PDF-файл для одного x-положения (частицы в одной плоскости), без проблем. Но то, что я хотел бы сделать, - это построить PDF-файлы с размером частиц в нескольких положениях по оси x, как я набросал на фотографии.

enter image description here

Я думаю, это можно сделать с помощью масштабирования и сдвигая различные кривые, но мне было интересно, если есть более разумный путь?

+1

Check 'subplot', если вам нужны различные топоры как в вашем эскизе, или 'hold', чтобы все они были в одной и той же оси. –

+0

Что вы хотите, это скрипичные сюжеты! –

ответ

1

Вы можете легко использовать один участок с запущенным hold on.
Давайте посмотрим пример. Позвольте мне генерировать 3 нормальных распределений (ради демо):

pdf1=makedist('Normal',1,2); 
pdf2=makedist('Normal',2,3); 
pdf3=makedist('Normal',3,4); 

v1=pdf(pdf1,[-10:10])+1; % x1 = 1 
v2=pdf(pdf2,[-10:10])+1.5; % x2 = 1.5 
v3=pdf(pdf3,[-10:10])+2; % x3 = 2 

Таким образом, мы имеем три PDF-файлы с их соответствующими значениями оцениваемых в диапазоне [± 10] и сдвинутыми значениями 1, 1.5 и 2 (соответственно).
Теперь мы можем открыть рисунок и построить три PDF-файла, имея в виду, что, поскольку вы располагаете их в вертикальном положении, значения x должны быть на оси y и наоборот.

figure(1) 
plot(v1,[-10:10],'r'); grid on; 
hold on; plot(v2,[-10:10],'g'); 
hold on; plot(v3,[-10:10],'b'); 
legend('PDF_1','PDF_2','PDF_3'); 
xlabel('x'); 
ylabel('d_{particle}'); 

и если вы хотите также добавить пунктирные линии, которые вы можете выполнить код, приведенный выше с

hold on; plot(1*ones(1,length([-10:10])),[-10:10],'r--'); 
hold on; plot(1.5*ones(1,length([-10:10])),[-10:10],'g--'); 
hold on; plot(2*ones(1,length([-10:10])),[-10:10],'b--'); 

И этот код будет возвращать enter image description here

+0

Это то, что я имел в виду, когда упоминал о перемасштабировании и смещении, хотя масштабирование может и не понадобиться. Отличный пример, спасибо Алексиокс! – tkekesi

+0

Rescaling действительно не требуется. Вы также можете вручную изменить размер оси с помощью 'xlim()' и 'ylim()' – Alessiox

+0

О, я забыл, что мое беспокойство было раньше. Это необходимо. Потому что в моем случае PDF нормализованное число частиц определенного диаметра. Но я хочу заложить их по позиции x, которая имеет порядки разницы величин в виде чисел. Так что, в основном, мне нужна форма PDF-файлов, пропорционально правильный размер по сравнению друг с другом. Но тогда еще x на оси. – tkekesi

Смежные вопросы