1. 程式人生 > >matlab生成二維服從高斯分佈的資料

matlab生成二維服從高斯分佈的資料

由於實驗需要,需要生成兩類模式的資料,同時這兩類資料要服從正態分佈(高斯分佈)。
使用matlab來實現:

mu = [2 3];
SIGMA = [1 0; 0 2];
r = mvnrnd(mu,SIGMA,100);
plot(r(:,1),r(:,2),'r+');
hold on;
mu = [7 8];
SIGMA = [ 1 0; 0 2];
r2 = mvnrnd(mu,SIGMA,100);
plot(r2(:,1),r2(:,2),'*')

mvnrnd:Multivariate normal random numbers
解釋:mvnrnd 是用來生成多維正態資料的。
具體引數大家可以參考matlab的幫助手冊。
mu 是需要生成的資料的均值
SIGMA 是需要生成的資料的自相關矩陣(協方差矩陣)

上面的資料如圖:
這裡寫圖片描述

相關推薦

matlab生成服從分佈資料

由於實驗需要,需要生成兩類模式的資料,同時這兩類資料要服從正態分佈(高斯分佈)。 使用matlab來實現: mu = [2 3]; SIGMA = [1 0; 0 2]; r = mvnrnd(mu,SIGMA,100); plot(r(:,1),r(:,2

Matlab產生混合分佈及隨機數

參考:https://ww2.mathworks.cn/help/stats/gmdistribution.random.html 修改如下: Create a gmdistribution object and generate random variates. De

matlab生成兩類服從分佈資料 mvnrnd

由於實驗需要,需要生成兩類模式的資料,同時這兩類資料要服從正態分佈(高斯分佈)。使用matlab來實現:mu = [2 3];SIGMA = [1 0; 0 2];r = mvnrnd(mu,SIGMA,100);plot(r(:,1),r(:,2),'r+');hold

如何生成指定均值和協方差矩陣的分佈資料

廢話不多說,先貼程式碼。function  y= main_generate_data()clcclear close all%%%%%%%%%%%%%%%%%%%%%%%%%生成實驗資料集rand('state',0)sigma_matrix1=eye(2);sigma_

python 多分佈資料生成

import numpy as np import matplotlib.pyplot as plt def gen_clusters(): mean1 = [0,0] cov1 = [[1,0],[0,10]] data = np.random.multi

matlab:畫分佈密度函式圖

首先,把二維正態分佈密度函式的公式貼這裡 這隻圖好大啊~~ 但是上面的那個是多維正態分佈的密度函式的通式,那個n階是對稱正定方陣叫做協方差矩陣,其中的x,pi,u都是向量形式。雖然這個式子很酷,但是用在matlab裡畫圖不太方面,下面換一個 這個公式與上面的

Python 影象處理: 生成分佈蒙版

在影象處理以及影象特效中,經常會用到一種成高斯分佈的蒙版,蒙版可以用來做影象融合,將不同內容的兩張影象結合蒙版,可以營造不同的藝術效果。 I=M∗F+(1−M)∗B 這裡I 表示合成後的影象,F 表示前景圖,B 表示背景圖,M 表示蒙版,或者直接用

[轉] 如何用matlab生成服從混合分佈的隨機數?

M=10; %產生M行N列的隨機數矩陣 N=8; miu1=1;%第一個分佈的引數 sigma1=2;%第一個分佈的引數 miu2=6;%第二個分佈的引數 sigma2=1;%第二個分佈的引數 R = 0.2*normrnd(miu1,sigma1,M,N)+0.8*normrnd(miu2,si

matlab練習程式(生成分佈概率密度函式)

clear all; close all; clc; randn('seed',0); %%一維高斯函式 mu=0; sigma=1; x=-6:0.1:6; y=normpdf(x,mu,sigma); plot(x,y); figure; %%二維或多維高斯函式 m

分佈(Two-dimensional Gaussian distribution)的引數分析

  最近在看高斯混合模型(Gaussian Mixture Model, GMM),涉及到高斯分佈的引數。為此特意回顧了概率論的二維高斯分佈的相關概念,並分析了引數對二維高斯分佈曲面的影響。 1、多維高斯分佈的概率密度函式       多維變數X

影象處理 分佈

為X,Y的相關係數!為0;σ1=σ2=σ 二維高斯曲面的公式(x,y代表畫素的模板座標,模板中心位置為原點) 根據這個公式,我們可以計算得到不同σ的高斯模板。下面是C語言程式實現: 當σ即半徑為0.7時: #include "stdafx.h" #include

matlab畫一個一分佈和似然估計

n=5;m=0;s=1;x=s*randn(n,1)+m;mh=mean(x);sh = std(x,1); X=linspace(-4,4,100);Y=exp(-(X-m).^2./(2*s^2))

協方差矩陣與分佈

多維高斯分佈: f(x)=1(2π)d2|Σ|−12exp[−12(x−μ)TΣ−1(x−μ)]f(x)=1(2π)d2|Σ|−12exp[−12(x−μ)TΣ−1(x−μ)] 協方差矩陣是一個對稱

伯努利分佈分佈、多項分佈、貝塔分佈、狄利克雷分佈分佈

伯努利分佈: 伯努利分佈(Bernoulli distribution)又名兩點分佈或0-1分佈,介紹伯努利分佈前首先需要引入伯努利試驗(Bernoulli trial)。 伯努利試驗是隻有兩種可能結果的單次隨機試驗,即對於一個隨機變數X而言: 伯努利試驗都可以表達為“是或否”

MKL/VSL,vRngGaussian:生成分佈隨機數

以產生Gauss分佈隨機數為例,需要的步驟有: 1. 定義type(vsl_stream_state) :: stream。 按照手冊,stream的定義為“Random stream (or stream) is an abstract source

生成分佈隨機數的程式

本文用的是The Box-Muller transformation的改進方法,稱為Polar Method,迴圈裡面取代了Box-Muller方法中的sin和cos函式,從而提高了速度。 #include <stdlib.h> #include

matlab實現復分佈---語句和解釋

   網上對於matlab如何產生均值為0,方差為1的復高斯分佈一般都會給出這個答案: s = sqrt(var/2)*(randn(1,K) +j*randn(1,K))    (答案1)                                         

生成gabor濾波器的matlab程式碼

function hp=gbfilter2(sigmax,mu,mv) % 函式功能:生成二維離散gabor函式模板hp。可能主要用於影象的紋理分析; %輸入引數:sigmax——x方向的方差; %                  mu——x方向中心頻率;mv——y

MATLAB之TOPAS輸出檔案擬合分佈並提取引數

此處需要將TOPAS跑出來的資料進行高斯擬合,並計算標準差sigma,以準備下一步的分析使用。csv資料型別如上篇文章所述,因為對TOPAS程式直接設定了輸出檔案的格式是“能量MeV+束斑大小cm+RangeShift寬度x空氣間隙寬度”,此處用迴圈讀取程式並輸出到一個儲存結

使用rand()產生服從/正態分佈的隨機數

我們藉助於rand()去生成高斯/正態分佈。 當然,rand是偽隨機的問題在此先不考慮。 (1)用Box-Muller方法,隨機抽出兩個從均勻分佈的數字和。然後 那和都是正態分佈的。 證明可用極座標,請參考教科書中的Box-Muller方法。 C程式碼: #