有关线性代数的Matlab代码笔记(1)——置换和列空间
来源:互联网 发布:自动打验证码软件 编辑:程序博客网 时间:2024/04/27 18:28
大一的时候线代确实学得不够好。隔了两年半,按自己的方式复习整理一遍。有很多全新的认识,特别是对各种子空间的理解。这可以说是我们的教育缺失的地方:相比起为什么,更重视怎么做。知道怎么做当然比知道为什么好考核得多。我们终究是在一个以考核为目的的教育环境里。废话不多说,我不过是想找个方式一个地方仔细分析一下那些关于线性代数各个知识点的代码,给自己一个巩固思考地机会。当然也很高兴分享给大家,不管是将要学习线性代数,还是和我一样自觉学得不好,或者纯粹是对Matlab感兴趣,希望能对你们有一些帮助。
我想我会这样做:
1.简单说明代码在线性代数里的背景知识
2.先调试成功后再把代码粘贴到这里(虽然基本都是M文件,但是其实大家复制去自己创建一个更方便),嗯,会加上一些注释
3.有空陆续更新,尽量按知识点的连续性
好的,今天就从简单的开始:
%%%%%%%%%%%%%%%%%%%%%说明 %%%%%%%%%%%%%%%%%%%
置换矩阵:能够实现基本行/列变换的矩阵,本身是单位矩阵通过基本行/列变换得到的
下面的代码演示了置换的可能性(单独针对行或者列)
%%%%%%%%%%%%%%%%%%%%%CODE %%%%%%%%%%%%%%%%%%
function p = randperm(n)
% randperm 随机置换.
%
% p = randperm(n) 返回1:n的随机置换.
[ignore, p] = sort(rand(1, n));
%其实这个代码本身和线性代数的关系并不大,不过是
%生成了n个0:1的随机数然后只显示他们的大小排序而已。
%%%%%%%%%%%%%%%%%%%%%说明 %%%%%%%%%%%%%%%%%%%
矩阵的列空间:在矩阵的四个基本子空间里一般是首先考虑的一个,由矩阵的列向量构成
%%%%%%%%%%%%%%%%%%%%%CODE %%%%%%%%%%%%%%%%%%
% colbasis 列空间的基.
%
% C = colbasis(A) 返回 A的列的主元所在列
% 构成了A的列空间的一组基.
%
[R, pivcol] = rref(A);%R代表行简化阶梯矩阵,pivcol是主元所在列
C = A(:, pivcol);
- 有关线性代数的Matlab代码笔记(1)——置换和列空间
- 有关线性代数的Matlab代码笔记(2)——行空间、零空间
- 有关线性代数的Matlab代码笔记(3)——左零空间、二维图像绘制
- 有关线性代数的Matlab代码笔记(5)——四个基本子空间
- 有关线性代数的Matlab代码笔记(6)——LU分解(没有行变换)
- 有关线性代数的Matlab代码笔记(4)——生成矩阵,消元矩阵
- 线性代数导论6——列空间和零空间
- 线性代数导论6——列空间和零空间
- 线性代数6——列空间和零空间
- 线性代数笔记-5 转置、置换、向量空间
- MIT_线性代数笔记_06_列空间和零空间
- 线性代数导论5——转置-置换-向量空间R
- 线性代数导论5——转置-置换-向量空间R
- 线性代数5——转置、置换、向量空间R
- MIT_线性代数笔记_05_转置、置换、空间R^n
- 线性代数:置换、转置矩阵和向量空间
- [线性代数]Note4--A的LU分解&转置-置换-向量空间
- 线性代数笔记-6 列空间与向量空间
- 寒假折腾Archlinux的一些经验(新手向)--基本安装篇
- ffmpeg编译
- lua中string的使用
- java 变量默认值
- 勇者斗恶龙(The Dragon of Loowater) UVa 11292 HDU 1902
- 有关线性代数的Matlab代码笔记(1)——置换和列空间
- main函数的两个参数
- 花見 - 日本赏樱地图 - Side Project
- uml 9种图之协作图
- POJ 3349 简单哈希
- 滚动数组。简单dphdu26020-1背包
- 认识DP
- hdu1069(记忆化搜索)
- 基于hive的日志数据统计实战