奇异值:
奇异值分解法是线性代数中一种重要的矩阵分解法,在信号处理、统计学等领域有重要应用。
定义:设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负平方根叫作A的奇异值。记为σi(A)。如果把A‘*A的特征值记为λi(A‘*A),则σi(A)=sqrt(λi(A’*A))。
奇异矩阵: 
  奇异矩阵是线性代数的概念,就是对应的行列式等于0的矩阵。
奇异矩阵的判断方法:首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。然后,再看此方阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。 同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。如果A为奇异矩阵,则AX=0有非零解或无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解。
svd设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负平方根叫作A的奇异值。记为σi(A)。
奇异值分解:
奇异值分解非常有用,对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n),满足A = U*S*V’。U和V中分别是A的奇异向量,而S是A的奇异值。AA'的正交单位特征向量组成U,特征值组成S'S,A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'。因此,奇异值分解和特征值问题紧密联系 。
定理和推论定理:
设A为m*n阶复矩阵,则存在m阶酉阵U和n阶酉阵V,使得:A = U*S*V’其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。推论:设A为m*n阶实矩阵,则存在m阶正交阵U和n阶正交阵V,使得A = U*S*V’其中S=diag(σi,σ2,……,σr),σi>0 (i=1,…,r),r=rank(A)。
说明:1、 奇异值分解非常有用,对于矩阵A(m*n),存在U(m*m),V(n*n),S(m*n),满足A = U*S*V’。U和V中分别是A的奇异向量,而S是A的奇异值。AA'的正交单位特征向量组成U,特征值组成S'S,A'A的正交单位特征向量组成V,特征值(与AA'相同)组成SS'。因此,奇异值分解和特征值问题紧密联系。
2、 奇异值分解提供了一些关于A的信息,例如非零奇异值的数目(S的阶数)和A的秩相同,一旦秩r确定,那么U的前r列构成了A的列向量空间的正交基。
奇异值分解函数 svd
格式: s = svd (A) %返回矩阵A的奇异值向量
     [U,S,V] = svd(A) %返回一个与A同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V'。若A为m×n阵,则U为m×m阵,V为n×n阵。奇异值在S的对角线上,非负且按降序排列
    [U1,S1,V1]=svd(X,0) %产生A的“经济型”分解,只计算出矩阵U的前n列和n×n阶的S。说明:1.“经济型”分解节省存储空间。2. U*S*V'=U1*S1*V1'。
[1]矩阵近似值奇异值分解在统计中的主要应用为主成分分析(PCA),它是一种数据分析方法,用来找出大量数据中所隐含的“模式”,它可以用在模式识别,数据压缩等方面。PCA算法的作用是把数据集映射到低维空间中去。数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间。正交矩阵正交矩阵是实数特殊化的酉矩阵,因此总是正规矩阵。尽管我们在这里只考虑实数矩阵,这个定义可用于其元素来自任何域的矩阵。正交矩阵毕竟是从内积自然引出的,对于复数的矩阵这导致了归一要求。
注意正交矩阵的定义:n阶‘实矩阵’ A称为正交矩阵,如果:A×A′=E(E为单位矩阵,A'表示“矩阵A的转置矩阵”。) 若A为正交阵,则下列诸条件是等价的:
1) A 是正交矩阵
2) A×A′=E(E为单位矩阵)
3) A′是正交矩阵
4) A的各行是单位向量且两两正交
5) A的各列是单位向量且两两正交
6) (Ax,Ay)=(x,y) x,y∈R

 

Matlab 奇异值、奇异矩阵、svd函数的更多相关文章

  1. matlab简单实现SVD的推荐

    %svd chengxu A = [5 5 0 5;5 0 3 4; 3 4 0 3; 0 0 5 3; 5 4 4 5; 5 4 5 5]; A = A'; [U S V] = svd(A); U ...

  2. numpy.linalg.svd函数

    转载自:python之SVD函数介绍 函数:np.linalg.svd(a,full_matrices=1,compute_uv=1) 参数: a是一个形如\((M,N)\)的矩阵 full_matr ...

  3. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  4. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  5. matlab 全部的随机数函数

    matlab 全部的随机数函数 (一)Matlab内部函数 a. 基本随机数 Matlab中有两个最基本生成随机数的函数. 1.rand() 生成(0,1)区间上均匀分布的随机变量.基本语法: ran ...

  6. python实现类似于Matlab中的magic函数

    参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵. #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy ...

  7. Matlab调用C语言函数

    Matlab调用C语言函数 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y) { return x + y ;}现在我想要在 ...

  8. Matlab随笔之画图函数总结

    原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATL ...

  9. matlab中的eval函数使用

    matlab中的eval函数使用 在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代 ...

  10. matlab @(x)构造匿名函数

    一起来学演化计算-matlab@(x)构造匿名函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://www.ilovematlab.cn/thread-81614-1 ...

随机推荐

  1. Vue系列之 => html-webpack-plugin的两个基本作用

    安装 npm i html-webpack-plugin -D webpack.config.js const path = require('path'); //启用热更新的第二步,导入webpac ...

  2. A Simple Chess (Lucas组合数 + 容斥)

    题意:走马步,要求向右向下,不能走进禁止的点.求方案数. 思路:若是n*m比较小的话,那么可以直接DP.但是这道题目不行.不过我们仔细分析可以知道从某个点到某个点是一个组合数,但是数据太大,mod值很 ...

  3. python之堡垒机(第九天)

    本节作业: 通过使用paramiko和sqlalchemy实现堡垒机功能 主要功能实现: 1.用户登录堡垒机后,无需知道密码或密钥可以SSH登录远端服务器: 2.用户对一个组内所有主机批量执行指定命令 ...

  4. php读取文件使用redis的pipeline(管道)导入大批量数据

    需求:需要做一个后台上传TXT文件,读取其中的内容,然后导入redis库中.要求速度快,并且支持至少10W以上的数据,而内容也就一个字段存类似openid和QQ 传统做法:我一开始做的时候就老套路,遍 ...

  5. ES6 Promise用法讲解

    所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果. ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. 下面代码创造了一个 ...

  6. leetCode 字符串相关问题

    125. 验证回文串 /* * 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. * 输入: "A man, a plan, a canal: Panama& ...

  7. Bugku-CTF之成绩单(快来查查成绩吧)

    Day18 成绩单 快来查查成绩吧http://123.206.87.240:8002/chengjidan/ 本题要点:sql手注.查询基础命令 首先查看一下源码  

  8. 湖南省队集训 Day 2

    从这里开始 Problem A 走路 Problem B 游戏 Problem C 有趣的字符串题 暴力分又没骗满sad..... Problem A 走路 $O(n^2)$动态规划是显然的. 更新方 ...

  9. Django 安装 创建项目

    安装Django: 安装好python 2.7 or 3.5(备注:在环境变量添加C:\Python36\Scripts路径) 然后在cmd窗口使用命令pip,有说明信息则表示pip可以正常使用. 安 ...

  10. Guitar Pro中如何添加与删除音轨

    Guitar Pro是一款专业的吉他打谱作曲软件,适合每一位热爱吉他并想进一步学习的大家.今天,我们一起来看看Guitar Pro软件写谱时音轨如何添加与删除. Guitar Pro能够同时支持虚拟音 ...