Frage

Ich möchte einige Konfidenzintervall Graphen in MATLAB zeichnen, aber ich habe keine Ahnung, überhaupt, wie es geht. Ich habe die Daten in einer .xls-Datei.

Kann mir jemand einen Tip geben, oder jemand kennt Befehle für CIs Plotten?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, was Sie Konfidenzintervall Graph gemeint, aber dies ist ein Beispiel dafür, wie ein zweiseitiger 95% CI einer Normalverteilung zu zeichnen:

alpha = 0.05;          % significance level
mu = 10;               % mean
sigma = 2;             % std
cutoff1 = norminv(alpha, mu, sigma);
cutoff2 = norminv(1-alpha, mu, sigma);
x = [linspace(mu-4*sigma,cutoff1), ...
    linspace(cutoff1,cutoff2), ...
    linspace(cutoff2,mu+4*sigma)];
y = normpdf(x, mu, sigma);
plot(x,y)

xlo = [x(x<=cutoff1) cutoff1];
ylo = [y(x<=cutoff1) 0];
patch(xlo, ylo, 'b')

xhi = [cutoff2 x(x>=cutoff2)];
yhi = [0 y(x>=cutoff2)];
patch(xhi, yhi, 'b')

Plot

Andere Tipps

Nach zahlreichen Threads zu lesen, hier ist mein Versuch.

 image description hier

% Get some random data
x       = linspace(0.3, pi-0.3, 10);
Data    = sin(x) + randn(1, 10)/10;
Data_sd = 0.1+randn(1,10)/30;

% prepare it for the fill function
x_ax    = 1:10;
X_plot  = [x_ax, fliplr(x_ax)];
Y_plot  = [Data-1.96.*Data_sd, fliplr(Data+1.96.*Data_sd)];

% plot a line + confidence bands
hold on 
plot(x_ax, Data, 'blue', 'LineWidth', 1.2)
fill(X_plot, Y_plot , 1,....
        'facecolor','blue', ...
        'edgecolor','none', ...
        'facealpha', 0.3);
hold off 

Meistens auf diese Frage zugrunde: Plotten mit Transparenz

Siehe z.B. Diese m-Dateien auf Matlab File Exchange:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top