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; %%二維或多維高斯函式 mu=[0 0]; sigma=[0.3 0;0 0.35]; [x y]=meshgrid(linspace(-8,8,80)',linspace(-8,8,80)'); X=[x(:) y(:)]; z=mvnpdf(X,mu,sigma); surf(x,y,reshape(z,80,80)); hold on; %再生成一個 mu=[4 0]; sigma=[1.2 0;0 1.85]; [x y]=meshgrid(linspace(-8,8,80)',linspace(-8,8,80)'); X=[x(:) y(:)]; z=mvnpdf(X,mu,sigma); surf(x,y,reshape(z,80,80));
相關推薦
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
高斯分佈概率密度函式(PDF)和累積分佈函式(CDF)
正態分佈(Normal distribution)又名高斯分佈(Gaussian distribution),是一個在數學、物理及工程等領域都非常重要的概率分佈,在統計學的許多方面有著重大的影響力。 若隨機變數X服從一個數學期望為μ、標準方差為σ2的高斯分佈,記為:X∼
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
Python 影象處理: 生成二維高斯分佈蒙版
在影象處理以及影象特效中,經常會用到一種成高斯分佈的蒙版,蒙版可以用來做影象融合,將不同內容的兩張影象結合蒙版,可以營造不同的藝術效果。 I=M∗F+(1−M)∗B 這裡I 表示合成後的影象,F 表示前景圖,B 表示背景圖,M 表示蒙版,或者直接用
兩個多維高斯分佈之間的KL散度推導
在深度學習中,我們通常對模型進行抽樣並計算與真實樣本之間的損失,來估計模型分佈與真實分佈之間的差異。並且損失可以定義得很簡單,比如二範數即可。但是對於已知引數的兩個確定分佈之間的差異,我們就要通過推導的方式來計算了。 下面對已知均值與協方差矩陣的兩個多維高斯分佈之間的KL散度進行推導。當然,因為便於分
matlab練習程式(神經網路識別mnist手寫資料集)
記得上次練習了神經網路分類,不過當時應該有些地方寫的還是不對。 這次用神經網路識別mnist手寫資料集,主要參考了深度學習工具包的一些程式碼。 mnist資料集訓練資料一共有28*28*60000個畫素,標籤有60000個。 測試資料一共有28*28*10000個,標籤10000個。 這裡神經網路輸入
matlab練習程式(地圖上畫經緯度)
需要看下生成的資料在地球上的經緯度具體位置。 投影為墨卡託投影。 clear all; close all; clc; load coast; a=load('out.txt'); %自己的經緯度資料 axesm mercator plotm(lat,long);
matlab練習程式(水波特效)
還記得原來寫過一個對影象進行波紋扭曲操作的博文。 這次實現的是水波特效,其實就是通過正餘弦函式表示波紋中心位置慢慢向外擴散,通過疊加衰減因子使振幅不斷減小,進而產生水波的效果。 效果如下: 原圖: 波紋特效: matlab程式碼如下: clear all; close all;
matlab練習程式(對應點集配準的四元數法)
這個算是ICP演算法中的一個關鍵步驟,單獨拿出來看一下。 演算法流程如下: 1.首先得到同名點集P和X。 2.計算P和X的均值up和ux。 3.由P和X構造協方差矩陣sigma。 4.由協方差矩陣sigma構造4*4對稱矩陣Q。 5.計算Q的特徵值與特徵向量。其中Q最大特徵值對應的特徵向量即為最佳
Matlab繪製三維曲面(以二維高斯函式為例)
寒假學習了一下Python下的NumPy和pymatlab,感覺不是很容易上手。來學校之後,決定繼續看完數字影象處理一書。還是想按照上學期的模式,邊看邊實現書中的演算法。上學期看的時候,是用C語言實現的,發現寫程式太耗時間了,所以決定還是學習下Matlab吧(寒假莫有學會Python中的那些庫應用。。。)
matlab練習程式(簡單多邊形的核)
還是計算幾何, 多邊形的核可以這樣理解:這個核為原多邊形內部的一個多邊形,站在這個叫核的多邊形中,我們能看到原多邊形的任何一個位置。 演算法步驟如下: 1.根據原多邊形最大和最小的x,y初始化核多邊形,就是個矩形。 2.計算多邊形當前處理的點的凹凸性。 3.用當前點與其後繼點構成直線,判斷當前點的前驅
matlab練習程式(影象傅立葉變換,幅度譜,相位譜)
cl;img=imread('15.bmp');%img=double(img);f=fft2(img); %傅立葉變換f=fftshift(f); %使影象對稱r=real(f); %影象頻域實部i=imag(f); %影象頻域虛部margi
matlab練習程式(尋找凸包,Graham掃描法)
我不太清楚這個凸包在影象處理中到底會怎樣的運用,因為這個好像更多的是計算幾何或是圖形學裡面的東西。不過作為一個演算法,我感覺還是有必要研究一下的。我主要的參考資料是《演算法導論》的33.3和這個部落格。 程式碼在這裡,我只寫了主要過程,過分細節的判斷就省略了。這裡是逆時針尋找: main.m c
matlab練習程序(神經網絡識別mnist手寫數據集)
sum else ref rate 標準 個數 權重矩陣 ros learn 記得上次練習了神經網絡分類,不過當時應該有些地方寫的還是不對。 這次用神經網絡識別mnist手寫數據集,主要參考了深度學習工具包的一些代碼。 mnist數據集訓練數據一共有28*28*6000
二維高斯分佈(Two-dimensional Gaussian distribution)的引數分析
最近在看高斯混合模型(Gaussian Mixture Model, GMM),涉及到高斯分佈的引數。為此特意回顧了概率論的二維高斯分佈的相關概念,並分析了引數對二維高斯分佈曲面的影響。 1、多維高斯分佈的概率密度函式 多維變數X
matlab:畫二維高斯分佈密度函式圖
首先,把二維正態分佈密度函式的公式貼這裡 這隻圖好大啊~~ 但是上面的那個是多維正態分佈的密度函式的通式,那個n階是對稱正定方陣叫做協方差矩陣,其中的x,pi,u都是向量形式。雖然這個式子很酷,但是用在matlab裡畫圖不太方面,下面換一個 這個公式與上面的
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))
多變數高斯分佈之間的KL散度(KL Divergence)
單變數高斯分佈的概率密度函式如下(均值:u,方差:σ): N(x|u,σ)=1(2πσ2)1/2exp{−12σ2(x−u)2} 多變數高斯分佈(假設n維)的概率密度函式如下(均值:u,協方差矩陣:Σ): N(x|u,Σ)=1(2π)n/2|Σ|1/2ex
如何生成指定均值和協方差矩陣的二維高斯分佈資料
廢話不多說,先貼程式碼。function y= main_generate_data()clcclear close all%%%%%%%%%%%%%%%%%%%%%%%%%生成實驗資料集rand('state',0)sigma_matrix1=eye(2);sigma_
matlab用迴圈批量生成多個變數,神奇的eval()函式
可以用eval()函式,例如: b = ones(100); for i = 1 : 10 <span style="white-space:pre"> </span>eval