我想在gnuplot中显示一组观察值及其均值和协方差。有谁知道我怎么可能做这样的事情?还有另一个程序可以很好地完成这项工作吗?像Octave这样的程序能够做到这一点吗?我看到获取统计数据的方法,但我没有找到任何关于显示这些统计数据的信息。
为了澄清,我想显示数据点(2d或3d),显示在数据集中绘制的平均值,并显示表示协方差的椭圆。
答案 0 :(得分:1)
是的,你可以用Octave做到这一点。
## create 2x1000 matrix of random data with normal distribution
data = randn (1000, 2);
## plot data (the o is for dots)
plot (data(:,1), data(:,2), "o");
## get mean from each
mu = mean (data);
## calculate covariance matrix
R = cov (data);
## calculate the ellipse points
A = chol (R, "lower");
theta = linspace (0, 2*pi, 1000);
x = mu' + 2.5 .* A * [cos(theta); sin(theta)];
## plot the ellipse
hold on;
plot(x(1,:), x(2,:), "r", "LineWidth", 2);
答案 1 :(得分:0)
我在八度音阶4.0.2中遇到错误并更改了" x ="在carandraug的回答:
x = mu' + 2.5 .* A * [cos(theta); sin(theta)];