1. 程式人生 > >matlab 數學建摸之基礎(二)

matlab 數學建摸之基礎(二)

matlab函式知識點

linspace函式-等差的行向量

transppse函式-行向量與列向量轉換

ones(2,4)-產生(2,4)的元數為1的矩陣

Matlab中隨機數生成器主要有:

betarnd 貝塔分佈的隨機數生成器
binornd 二項分佈的隨機數生成器
chi2rnd 卡方分佈的隨機數生成器
exprnd 指數分佈的隨機數生成器
frnd f分佈的隨機數生成器
gamrnd 伽瑪分佈的隨機數生成器
geornd 幾何分佈的隨機數生成器
hygernd 超幾何分佈的隨機數生成器
lognrnd 對數正態分佈的隨機數生成器
nbinrnd 負二項分佈的隨機數生成器
ncfrnd 非中心f分佈的隨機數生成器
nctrnd 非中心t分佈的隨機數生成器
ncx2rnd 非中心卡方分佈的隨機數生成器
normrnd 正態(高斯)分佈的隨機數生成器,normrnd(a,b,c,d):產生均值為a、方差為b大小為cXd的隨機矩陣
poissrnd 泊松分佈的隨機數生成器
rand:產生均值為0.5、幅度在0~1之間的偽隨機數,rand(n):生成0到1之間的n階隨機數方陣,rand(m,n):生成0到1之間的m×n的隨機數矩陣
randn:產生均值為0、方差為1的高斯白噪聲,使用方式同rand
注:rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈
randperm(n):產生1到n的均勻分佈隨機序列
raylrnd 瑞利分佈的隨機數生成器
trnd 學生氏t分佈的隨機數生成器
unidrnd 離散均勻分佈的隨機數生成器
unifrnd 連續均勻分佈的隨機數生成器

weibrnd 威布林分佈的隨機數生成器

以下介紹利用Matlab產生均值為0,方差為1的符合正態分佈的高斯隨機數。
我們利用的函式為normrnd(a,b,c,d):產生均值為a、標準為b大小為cXd的隨機矩陣,它有如下三種引數形式:
R=normrnd(μ,σ)
R=normrnd(μ,σ):生成服從正態分佈(μ引數代表均值,σ引數代表標準差)的隨機數。輸入的向量或矩陣μ和σ必須形式相同,輸出R也和它們形式相同。標量輸入將被擴充套件成和其它輸入具有相同維數的矩陣。
R=normrnd(μ,σ,m)
R=norrmrnd(μ,σ,m):生成服從正態分佈(μ引數代表均值,σ引數代表標準差)的隨機數矩陣,矩陣的形式由m定義。m是一個1×2向量,其中的兩個元素分別代表返回值R中行與列的維數。
R=normrnd(μ,σ,m,n)

R=normrnd(μ,σ,m,n): 生成m×n形式的正態分佈的隨機數矩陣。其中μ為均值,σ為標準方差,m、n為矩陣大小;

R = normrnd(0,1,4,4) %產生4×4的標準正態分佈矩陣
R =
0.5377 0.3188 3.5784 0.7254
1.8339 -1.3077 2.7694 -0.0631
-2.2588 -0.4336 -1.3499 0.7147
0.8622 0.3426 3.0349 -0.2050
var(R) %預設方差公式
ans =
3.0868 0.6085 5.1253 0.2465
var(R,0) %預設方差公式(N-1)
ans =
3.0868 0.6085 5.1253 0.2465
var(R,1) %方差公式(N)
ans =
2.3151 0.4564 3.8440 0.1849
var(R,0,1) %列操作,第二引數為方差方式,第三引數為行、列標記
ans =
3.0868 0.6085 5.1253 0.2465
var(R,0,2) %行操作,第二引數為方差方式,第三引數為行、列標記
ans =
2.3549
3.3782
1.6184
2.0146
var(R’) %check the ans
ans =
2.3549 3.3782 1.6184 2.0146
var(R(:)) %矩陣所有元素的方差
ans =
2.6020

issparse(函式)

所謂稀疏陣列就是陣列中大部分的內容值都未被使用(或都為零),在陣列中僅有少部分的空間使用。因此造成記憶體空間的浪費,為了節省記憶體空間,並且不影響陣列中原有的內容值,我們可以採用一種壓縮的方式來表示稀疏陣列的內容。

向量

linspace函式-等差的行向量;

transpose函式-行向量與列向量轉換

ones(2,4)–產生(2*4)的元素矩陣

eye(3)–產生3*3的單元矩陣

diag(D)–D陣的對角線上的元素

randn–產生標準正態分佈的隨機數(矩陣)

rand(2,3)–產生一個(2*3)的隨機矩陣

randn(‘state,0’)–每次初始化randn到不同的狀態格式;隨有發生器的狀態為0(https://baike.baidu.com/item/randn/466460?fr=aladdin

randsrc–隨機輸出1或-1

randsrc(1,1,[1])–1行1列的矩陣,元素為1——L

randsrc(3,20,[-3,-1,1,3],3)–3*20的矩陣,元素為-3,-1,1,1的隨機數,1為隨機發生器的狀態值

一維陣列定址

rand(1,5)–產生(1*5)的矩陣,1以內的隨機陣列

x(3)–訪問x陣列的第3個元素

x(3:end)–訪問從第3個元素開始的元素

x(1:3)–訪問第1到3的元素

x(3;-1;1)–訪問從第3個元素倒序排列的元素

x(find(x>0.5))–訪問(元素>0.5)的元素

x([1 2 3 4 ])–訪問第1,2,3,4位元素

對二維數定址

A(2,4)–對第(2,4)元素訪問

A(8)–對二維陣列進行單下標誌法,尋第8個元素進行訪問(單下標誌法:https://zhidao.baidu.com/question/148180131.html

A(:,[1,3])–對單下標誌法,全部行,第1列,3列的元素進行訪問

A(2,1:2:5])–對單下標誌法,2行,第1列,2,5列的元素進行訪問

對陣列排序(一維)

b=sort(a)–對陣列A進行排序得到b(不改變b的對於a的排序)

對陣列排序 (二維)

[b,index]=sort(a,dim,mode)
—————–dim=1指進行每一列排序,=2時指進行每一行排序
———————mode=descend時進行降序(ascend進行升序)

陣列檢測

isempty–檢測元素是否為空陣列 表示式TF=isempty(A)

isscalar–某個陣列是否是單元素的標量陣列的檢測

isvector–某陣列為一列或一行元素的檢測

issparse–某陣列為稀疏陣列的檢測(稀疏陣列:http://blog.csdn.net/dzweather/article/details/8057834

length–陣列長度檢測

numel–陣列中元素總和列印

size–陣列的行和列的長度分別列印