Matlab中矩陣的歸一化和正交化函式

2021-07-15 19:11:09 字數 1040 閱讀 8641

1、歸一化:

首先按行歸一化:

% examples

a=[3 4;5 12];

[m n] = size(a);

% normalize each row to unit

for i = 1:m

a(i,:)=a(i,:)/norm(a(i,:));

end 按列歸一化:

% normalize each column to unit

a=[3 4;5 12];

for i = 1:n

a(:,i)=a(:,i)/norm(a(:,i));

end然而,上述**最能實現功能,但並不是最優的,它只是一種對該過程的最佳理解**。在matlab中,for迴圈是一件非常費時間的結構,因此我們在**中應該盡量少用for迴圈。由此,我們可以用repmat命令得到另一種更加簡潔更加快速的**,只是這種**對於初學者理解起來比較費勁。可以看錯是自己水平的一種高階吧。

%  normalize each row to unit

a = a./repmat(sqrt(sum(a.^2,2)),1,size(a,2));

%  normalize each column to unit

a = a./repmat(sqrt(sum(a.^2,1)),size(a,1),1);

2、 求矩陣正交基

使用方法 

b = orth(a)

返回矩陣a的正交基,b的列與a的列具有相同的空間,b的列向量是正交向量,滿足b'*b = eye(rank(a)),b的列數是a的秩。

應用舉例

a=[4 0 0;0 3 1;0 1 3];

b=orth(a)

q=b'*b

b =

0 1.0000 0

-0.7071 0 -0.7071

-0.7071 0 0.7071

q =

1.0000 0 0.0000

0 1.0000 0

0.0000 0 1.0000

Matlab中的資料歸一化

歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0 1之間是統計的概率分布,歸一化在 1 1之間是統計的座標分布。歸一化有同 一 統一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經網路是以樣本在事件中的統計分別機率來進行訓練 概率計算 和 的,且sigmoid函式的取值是...

matlab中的歸一化方法

在資料處理的過程中,為了標準的統一,我們往往要對資料進行歸一化。大多數人覺得這比較簡單,不就是形如 x min max min 這樣麼。事實上,這樣想是沒錯的。事實上,我們使用matlab的內建函式,來進行資料的歸一化,在處理大量的資料時,會節省不少的時間。有內建函式用的,盡量用內建函式,可以減少不...

矩陣歸一化

歸一化化定義 我是這樣認為的,歸一化化就是要把你需要處理的資料經過處理後 通過某種演算法 限制在你需要的一定範圍內。首先歸一化是為了後面資料處理的方便,其次是保正程式執行時收斂加快。在matlab裡面,用於歸一化的方法共有三中,1 premnmx postmnmx tramnmx 2 prestd ...