matlab实现椭圆正态分布,Normal distribution and Ellipse正态分布和椭圆、椭球
。
实际上,我们对原始椭圆作一个平移变换(x-u)和一个旋转变换(V*),可以使其中心平移到原点,长短轴的方向与坐标轴重合。而绘等概率椭圆的过程则与此相反,先用标准的椭圆方程产生组成曲线的离散点,然后经过相反的旋转变换和平移,得到原始的椭圆。
举例来说,首先,设置二维正态分布的参数,均值和协方差,并用mvnrnd产生一组符合此分布的随机数。
Mu = [2 3]';
Sigma = [0.9 0.4;0.4 0.2];
p = mvnrnd(Mu,Sigma,100);
plot(p(:,1),p(:,2),'.','MarkerSize',6)
设置半径,进行特征值分解
r =1;
[V,D] = eig(Sigma);
用linspace产生一个坐标轴(y)上的一组等间隔离散坐标值,再根据标准椭圆方程产生对应的x的坐标。
y =
linspace(-sqrt(r^2*D(2,2)),sqrt(r^2*D(2,2)),60);
% compute x
x(1,:) = sqrt((r^2-y(:).^2/D(2,2))*D(1,1));
x(1,:) = real(x(1,:));
这只产生了半个椭圆,还要产生另一半(注意两条曲线的坐标旋转方向要一致),然后旋转,平移,画图:
Ellip = [x,-x(1,:)]; % x
Ellip(2,:) = [y,fliplr(y)]; %y
Ellip = Ellip'*inv(V); % rotate
Ellip(:,1) = Ellip(:,1)+Mu(1); %shift
Ellip(:,2) = Ellip(:,2)+Mu(2);
hold on;
plot(Ellip(:,1),Ellip(:,2));
plot(Mu(1),Mu(2),'+'); %Plot center
最终的效果:
另外,在对原始椭圆做旋转变换时,如果在V的前面再乘以一项,改为
,则椭圆会变为圆。对多元正态分布的随机变量应用此变换,则其分布在各个方向上也变为均匀的。这就是信号处理中的白化变换。
三维正态分布的等概率曲面为椭球,其绘制过程也是类似的。
产生1/8曲面
xhalf = linspace(sqrt(r^2*D(1,1)),0,Nint);
Ninthalf = round(Nint/2);
zsect = zeros(Nint,Ninthalf);
ysect = zeros(Nint,Ninthalf);
for ti = 1:Nint
r2d = r^2 - xhalf(ti).^2/D(1,1);
ysect(ti,:) = linspace(0,sqrt(r2d*D(2,2)),Ninthalf);
zsect(ti,:) = sqrt((r2d - ysect(ti,:).^2/D(2,2) )*D(3,3));
xsect(ti,1:Ninthalf) = xhalf(ti);
end
zsect = real(zsect);
通过镜像产生1/4
%x>0,Z>0
xsect = [xsect,xsect];
ysect = [ysect,fliplr(ysect)];
zsect = [zsect,-fliplr(zsect)];
1/2
%x>0
xsect = [xsect,xsect];
ysect = [ysect,-fliplr(ysect)];
zsect = [zsect,fliplr(zsect)];
1/1
% make it a whole
xsect = [xsect;-flipdim(xsect,1)];
ysect = [ysect;flipdim(ysect,1)];
zsect = [zsect;flipdim(zsect,1)];
matlab实现椭圆正态分布,Normal distribution and Ellipse正态分布和椭圆、椭球相关推荐
- tableau linux无网络安装_举个栗子!Tableau 技巧(110)两种方法实现正态分布 Normal distribution...
关于正态分布 正态分布(Normal distribution),也称"常态分布",又名高斯分布(Gaussian distribution).正态分布是统计学中一个重要的概率分布 ...
- 黎曼和 Riemann Sum ,黎曼积分Riemann Integral,正态分布normal distribution
这里有一块形状不规则的土地,要测量它的面积,怎么办呢?一个叫黎曼的德国数学家(Bernhard Riemann, 1826-1866),他想了个办法:将这不规则图形切成一条条的小长条儿,然后将这个长条 ...
- 统计学习 | 正态分布 Normal Distribution
参考资料 统计学-1:判断数据是否满足正态分布 - 知乎 (zhihu.com) 正态分布!你真的了解么?_检验 (sohu.com) 正态检验 (Normality Test)--常见方法汇总与简述 ...
- matlab怎么伯努利分布,伯努利分布 Bernoulli distribution
伯努利分布 是一种离散分布,有两种可能的结果.1表示成功,出现的概率为p(其中0 概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质 ...
- Normal Distribution Chi-squared Distribution t distribution F-distribution
最近看论文发现经常有一些统计学的内容,但是这部分内容之前一直都是很薄弱的地方,不敢涉猎,现在学习一下,并整理下来,方便以后查阅. Normal Distribution & Chi-squar ...
- 基于 Matlab 的方差-协方差矩阵可视化表示(椭圆、椭球)
文章目录 Part.I Introduction Part.II 二维情况 Chap.I 绘图函数 Chap.II 调用示例与结果 Part.III 三维情况 Chap.I 绘图函数 Chap.II ...
- python 正态分布图_Python工具(正态分布对比图)
#coding:utf8 import matplotlib.pyplot as plt import numpy as np def visNormal(myArr,deleteOutlier=Tr ...
- R语言对数正态分布分布函数Log Normal Distribution(dlnorm, plnorm, qlnorm rlnorm)实战
R语言对数正态分布函数Log Normal Distribution(dlnorm, plnorm, qlnorm & rlnorm)实战 目录 R语言对数正态分布函数Log Normal D ...
- R可视化绘制对数正态分布(Log Normal Distribution)
R可视化绘制对数正态分布(Log Normal Distribution) 为了绘制R中对数正态分布的概率密度函数,我们可以使用以下函数: dlnorm(x, meanlog = 0, sdlog = ...
最新文章
- 中国都有哪些骨干网?带宽各是多少?
- android 自定义switch控件,Android中switch自定义样式
- 在云服务器搭建WordPress博客(六)发布和管理文章
- C++:33---类成员指针
- 为Flash Builder/Professional更新Flash Player
- 【Vegas原创】使用javascript实现两个listbox中的添加、删除
- 利用SqlBuikCopy实现数据批量写入
- ubuntu下搭建车场环境(代码使用jekins构建)
- 特斯拉起诉离职员工窃取机密代码和文件
- ECMAScript 6 开篇准备
- 【ZOJ 1964】【尺取】Bound Found【暑期 No.3】
- matlab 正则化表达式_MATLAB中常用的正则表达式
- iOS逆向之微信和支付宝修改步数 简洁无脑版
- linux重装系统保留文件,linux重装系统,如何保存硬盘中的内容
- c语言中实型标准,在C语言中的实型变量分为两种类型.docx
- 安装docker环境报错:Could not resolve host
- 前端关于Base64编码的一些技术分析
- screenX、clientX、pageX, offsetX的区别
- 同比与环比——财务小知识点
- Android M及以上版本系统 悬浮窗权限 的解决方案
热门文章
- java计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税。
- 简谈socket在直播软件开发上的应用
- 视频教程-SAS数据分析:从入门到企业实战-数据挖掘
- 外卖平台对接笔记(美团外卖,饿了么外卖)
- 在JS里面获取浏览器sessionId
- python设计游戏使用手机操作_如何使用python控制手机(以微信游戏跳一跳为例)
- 在linux中启动mysql,在linux中启动mysql服务的命令
- 3分钟带您快速了解HIL测试及其架构
- Magisk搞机器记录(小米Mix3)
- ccf题库java_CCF题库