Heim > Datenbank > MySQL-Tutorial > 有关线性代数的Matlab代码笔记(2)行空间、零空间

有关线性代数的Matlab代码笔记(2)行空间、零空间

WBOY
Freigeben: 2016-06-07 15:07:59
Original
1418 Leute haben es durchsucht

今天继续,尝试加入一些范例 依然是简单的内容: %%%%%%%%%%%%%%%%%%%%% 说明 %%%%%%%%%%%%%%%%%%% 行空间的基 :按行的角度来看待矩阵,更多介绍在代码说明里,简单的利用了昨天的代码。 %%%%%%%%%%%%%%%%%%%%% CODE %%%%%%%%%%%%%%%%%% function B = rowba

今天继续,尝试加入一些范例

依然是简单的内容:

%%%%%%%%%%%%%%%%%%%%%说明 %%%%%%%%%%%%%%%%%%%

行空间的基:按行的角度来看待矩阵,更多介绍在代码说明里,简单的利用了昨天的代码。

%%%%%%%%%%%%%%%%%%%%%CODE %%%%%%%%%%%%%%%%%%

function B = rowbasis(A)


% rowbasis  行空间的基 
%
% B = rowbasis(A) 返回A的行空间的一组基
% 以B的列表示
% A的行空间相当于A的转置的列空间
% rowbasis 找出A'中线性无关的 
% 前r列,r代表A的秩
%


B = colbasis(A');

%%%%%%%%%%%%%%%%%%%%%范例 %%%%%%%%%%%%%%%%%%

>> A=[1,1,1;1,3,2;2,3,4]


A =


     1     1     1
     1     3     2
     2     3     4


>> rowbasis(A)


ans =


     1     1     2
     1     3     3
     1     2     4

%%%%%%%%%%%%%%%%%%%%%说明 %%%%%%%%%%%%%%%%%%%

零空间的基:这个零空间的代码值得好好看看,体现了线性代数里关于列意义的基本思想。

直接看去你可能会不知道这些代码在干什么。因为一个简单的语句可能包含了很多操作。

我自己不太明白的时候是喜欢举个例子,把代码一句一句执行来看看的。这里要注意的是

零空间里的列指示了矩阵里构成零向量的列的线性组合。而代码里用到了很多构成矩阵的办法。

%%%%%%%%%%%%%%%%%%%%%CODE %%%%%%%%%%%%%%%%%%

function N = nulbasis(A)


% nulbasis  零空间的基.
%
% N = nulbasis(A) 在N的列中返回A的零空间的一组基
% 包含了Ax=0的n-r个特殊解 
% freecol是自由列.
%
% Example:
%
% >> A = [1 2 0 3;
%        [0 0 1 4];
%
% >> N = nulbasis(A)
%
%    N = [-2  -3]   
%        [ 1   0]
%        [ 0  -4]
%        [ 0   1]
%


[R, pivcol] = rref(A, sqrt(eps));%精度sqrt(eps)=1.4901e-008
[m, n] = size(A);
r = length(pivcol);
freecol = 1:n;
freecol(pivcol) = [];%主元所在列
N = zeros(n, n-r);
N(freecol, : ) = eye(n-r);%由自由列序号给零空间的行按单位矩阵赋值
N(pivcol,  : ) = -R(1:r, freecol);%主元所在列赋行简化阶梯矩阵对应值相反数
                                  %这样组合能得到零向量
                                  %这个方法接近我们手动求零空间的算法


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage