How to same size of plot and histogram
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mustafa Vural
am 21 Sep. 2020
Kommentiert: Mustafa Vural
am 21 Sep. 2020
I want to compare my function with given parameters with my histogram with generated random numbers.
So, I want to put these two plots in one figure. But my histogram is on the y-axis much more bigger (around 250) than my fplot (around 2). How can I put them in the same size and compare them? I want to see if my histogram has the same shape as my function.
clear all;
clf
n=1000
t0 = 0.5;
T_A = 1;
b_A = 2;
fun_A2p = @(x) (b_A/T_A).*(x/T_A).^(b_A-1).*(exp(-(x/T_A).^(b_A)));
fun_A3p = @(x) (b_A/(T_A-t0)).*((x-t0)/(T_A-t0)).^(b_A-1).*(exp(-((x-t0)/(T_A-t0)).^(b_A)));
fplot(fun_A2p,[0,10], 'LineWidth',2, "Color", 'b')
hold on
fplot(fun_A3p,[0,10], 'LineWidth',2, "Color", 'r', 'LineStyle', '--')
hold on
for v_T = 1:length(T_A)
for v_b = 1:length(b_A)
data2p(:,v_b,v_T) = wblrnd(v_T,v_b, [n,1]);
data3p(:,v_b,v_T) = wblrnd(v_T,v_b, [n,1]) + t0;
end
end
h1= histogram(data2p);
hold on;
h2= histogram(data3p);
set(h1,'FaceColor',[0 0 1],'EdgeColor',[0 0 1],'facealpha',0.5);
set(h2,'FaceColor',[1 0 0],'EdgeColor',[1 0 0],'facealpha',0.5);
ax = gca;
ax.XLim=[0,5];
ax.YLim=[0,300];
grid on; %Gitter anzeigen
box on; %Rahmen zeigen
title ('Vergleich Dichtefunktion mit Histogram');
xlabel('Lebensdauer t');
ylabel('Dichtefunktion f(x)');
legend('2 parametrisch', '3 parametrisch')
0 Kommentare
Akzeptierte Antwort
the cyclist
am 21 Sep. 2020
I think that using
h1= histogram(data2p,'Normalization','pdf');
h2= histogram(data3p,'Normalization','pdf');
and of course removing
ax.YLim=[0,300];
will get you much closer to what you want.
You could also just use the histcounts function to get the counts, and then the bar function to plot them (applying whatever normalization factor you want).
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Histograms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!