精华内容
下载资源
问答
  • Matlab中的inline函数1.有时为了描述某个数学函数的方便,可以用inline()函数来直接编写该... 匿名函数是MATLAB 7.0版提出的一种全新的函数描述形式,其基本格式为f=@(变量列表)函数内容,例如,f=@(x,y)sin(x.^2...

    Matlab中的inline函数

    1.有时为了描述某个数学函数的方便,可以用inline()函数来直接编写该函数,形式相当于M-函数,但无编写一个真正的MATLAB文件,就可以描述出某种数学关系。其调用格式为fun=inline(‘函数内容’,自变量列表)

    2. 匿名函数是MATLAB 7.0版提出的一种全新的函数描述形式,其基本格式为f=@(变量列表)函数内容,例如,f=@(x,y)sin(x.^2+y.^2)。更重要的,该函数允许直接使用MATLAB工作空间中的变量。

    许多Matlab函数(特别是数值计算方面的)可以函数句柄(function handle)或内联对象(inline object)作为参数。我们以quad函数为例,这个函数使用Simpson算法求函数的数值积分。它的一种调用形式是:

    quad(fun, a, b)

    其中,fun可以是指向被积函数的函数句柄,或者含有被积函数的内联对象;a和b分别是被积区间的上、下限。考虑以下积分:

    使用函数句柄的方法:

    % 将下面到”% EOF”的代码保存为f.m

    function y = f(x)

    y = sin(x) ./ x;

    % EOF

    quad(@f, 1, 2)

    ans =

    0.6593

    使用内联对象的方法:

    quad( inline(  ‘sin(x)./x’  )), 1, 2  )

    ans =

    0.6593

    由于使用内联对象不需要另外建立m文件,所以比较方便,建议使用这种方法

    再例如,在使用ode45函数的时候,定义函数往往需要编辑一个 .m文件来单独定义,这样不便于管理文件,这里可以使用 inline定义函数,例子如下:

    ff=inline(‘[y(2);c2*sin(x*pi*3/4)-y(2)/2-sin(y(1))]’,…

    ‘x’,’y’,’flag’,’c2′);

    [T,Y]=ode45(ff,[0,12],[0.1;0],[],c2);

    喜欢 (2)or分享 (0)

    展开全文
  • 一、协方差矩阵的定义及其计算公式  协方差矩阵在机器学习中经常用到,查看wiki:http://zh.wikipedia.org/wiki/%E5%8D%8F%E6%96%B9%E5%B7%AE%E7%9F%A9%E9%98%B5 可知协方差矩阵的具体计算公式如下: 在统计学与...

    一、协方差矩阵的定义及其计算公式

      协方差矩阵在机器学习中经常用到,查看wiki:http://zh.wikipedia.org/wiki/%E5%8D%8F%E6%96%B9%E5%B7%AE%E7%9F%A9%E9%98%B5 可知协方差矩阵的具体计算公式如下:

    统计学概率论中,协方差矩阵是一个矩阵,其每个元素是各个向量元素之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

    假设X是以n个标量随机变量组成的列向量

    X = \begin{bmatrix}X_1 \\  \vdots \\ X_n \end{bmatrix}

    并且\mu_i是其第i个元素的期望值,即, \mu_i = \mathrm{E}(X_i)。协方差矩阵被定义的第i,j项是如下:

    \Sigma_{ij} = \mathrm{cov}(X_i, X_j) = \mathrm{E}\begin{bmatrix} (X_i - \mu_i)(X_j - \mu_j) \end{bmatrix}

    即:

    \Sigma=\mathrm{E} \left[  \left(  \textbf{X} - \mathrm{E}[\textbf{X}]  \right)  \left(  \textbf{X} - \mathrm{E}[\textbf{X}]  \right)^\top \right]
    = \begin{bmatrix}  \mathrm{E}[(X_1 - \mu_1)(X_1 - \mu_1)] & \mathrm{E}[(X_1 - \mu_1)(X_2 - \mu_2)] & \cdots & \mathrm{E}[(X_1 - \mu_1)(X_n - \mu_n)] \\ \\  \mathrm{E}[(X_2 - \mu_2)(X_1 - \mu_1)] & \mathrm{E}[(X_2 - \mu_2)(X_2 - \mu_2)] & \cdots & \mathrm{E}[(X_2 - \mu_2)(X_n - \mu_n)] \\ \\  \vdots & \vdots & \ddots & \vdots \\ \\  \mathrm{E}[(X_n - \mu_n)(X_1 - \mu_1)] & \mathrm{E}[(X_n - \mu_n)(X_2 - \mu_2)] & \cdots & \mathrm{E}[(X_n - \mu_n)(X_n - \mu_n)] \end{bmatrix}

    矩阵中的第(i,j)个元素是X_iX_j的协方差。这个概念是对于标量随机变量方差的一般化推广。

     

    二、理解的关键

      1、理解的关键是两个随机变量x1,x2的协方差如何计算,有cov(x1,x2) = E{[(x1-E(x1)][x2-E(x2)]},对于离散的随机变量x1,x2,协方差矩阵描述的x1,x2相互联系的偏差,所以两个随机变量是一一对应的,即假设有m个样本值,则分别为(x11,x21),(x12,x22),(x13,x23),...(x1m,x2m),这便可以写成一个2*m的矩阵的形式。则x1,x2协方差表示的是两个随机变量对应的样本值分别都减去各自均值后的乘积的均值(因为无偏性估计的缘故,除以的不是m而是m-1);

      2、所以对于一个n*m的样本矩阵,得出的协方差矩阵C是n*n的矩阵,协方差矩阵每个元素Cij表示的随机变量xi,xj的协方差。所以协方差矩阵是一个对称矩阵,且对角线上元素为每个随机变量的方差(如果是信号的话可以看成是能量);如果各个变量相关性很小的话,互相的协方差接近0,即协方差矩阵基本上为对角阵;

      3、可以证明,协方差矩阵是非负定矩阵,这可以有非负定矩阵的定义得到;(参考北京大学出版社《多元统计分析》)

      4、同样地,为了表示各个随机变量相关性到底有多大,可以引入相关性矩阵。

    三、matlab计算公式:

      matlab中有一个计算协方差矩阵的函数cov,从其help中可知,该函数的输入为一个m*n的矩阵X,其定义和wiki上的定义相反,每一行表示一个随机向量,即有n个随机变量。如果将一个随机向量看成一个模式的特征向量的话,那么该矩阵表示该模式的一个特征向量用n个特征表示,共有m个特征向量,即有m个样本。

    根据matlab中的help文档的cov函数介绍写一个类似的函数:

     1 function cov = covariance(X)
     2 % 由随机变量样本矩阵计算协方差矩阵
     3 %---- 输入:    
     4 % X:     M*N的样本矩阵,其中一行表示一个随机向量样本
     5 %       共有M个随机样本
     6 %---- 输出:
     7 % cov:   N*N的协方差矩阵,表示各个随机变量的协方差
     8 %---- 计算方法
     9 % 随机变量均值用样本均值统计量估计:X_mean = 1/N*ΣXi;
    10 % 随机变量方差用样本方差统计量估计:S = 1/(N-1)*Σ(Xi-X_mean)^2
    11 % 随机变量协方差可以用如下统计量估计:C = 1/(N-1)*Σ(Xi-X_mean)(Yi-Y_mean)
    12 
    13 % 各个样本减去其平均值
    14 % X = bsxfun(@minus,X,mean(X));
    15 %或者:
    16 %X = X-repmat(mean(X),size(X,1),1);
    17 cov = 1/(size(X,1)-1)*X'*X;

     

    转载于:https://www.cnblogs.com/lyfruit/archive/2012/12/23/2830298.html

    展开全文
  • 伪逆矩阵函数pinv伪逆矩阵的MATLAB定义.ppt(2)正交(QR)分解函数 将矩阵A分解为一个正交矩阵与另一个矩阵的乘积称为矩阵A的正交分解。 格式一:[Q, R]=qr(A) 功能:产生与A同维的上三角矩阵R和一个实正交矩阵或复归...

    伪逆矩阵函数pinv伪逆矩阵的MATLAB定义.ppt

    (2)正交(QR)分解函数 将矩阵A分解为一个正交矩阵与另一个矩阵的乘积称为矩阵A的正交分解。 格式一:[Q, R]=qr(A) 功能:产生与A同维的上三角矩阵R和一个实正交矩阵或复归一化矩阵Q,满足:A=Q*R,Q’*Q=I。 格式二:[Q,R,E]=qr(A) 功能:产生一个置换矩阵E,一个上三角矩阵R(其对角线元素降序排列)和一个归一化矩阵Q,满足A*E=Q*R; (4) 矩阵整体反时针旋转函数rot90( ) 格式一:X=rot90(A) 功能:将矩阵按反时针旋转90o。 格式二:X=rot90(A, k) 功能:将矩阵按反时针旋转k*90o,其中k应为整数。 (5) 对角矩阵和矩阵的对角化函数diag( ) 格式一:X=diag(A,k) 功能:当A为n元向量时,可得n+abs(k)阶的方阵X,其A的元素处于第k条对角线上;k=0表示主对角线,k>0表示在主对角线之上,k<0表示在主对角线之下。当A为矩阵时,X=diag(A,k)得到列向量X,它取自于X的第k个对角线上的元素。 格式二:X=diag(A) 功能:当A为n元向量时,等同于k=0时的X=diag(A,k),即产生A的元素处于主对角线的对角方阵。当A为矩阵时,X=diag(A)相当于k=0。 (6) 取矩阵的左下三角部分函数tril( ) 格式一:X=tril(A,k) 功能:得到矩阵A的第k条对角线及其以下的元素;当k=0时表示主对角线,k>0表示主对角线之上,k<0表示主对角线以下。 格式二:X=tril(A) 功能:得到矩阵A的下三角阵。 (7) 取矩阵的右上三角部分函数triu( ) 格式一:X=triu(A,k) 功能:得到矩阵A的第k条对角线及其以上的元素;当k=0时表示主对角线,k>0表示主对角线之上,k<0表示主对角线以下。 格式二:X=triu(A) 功能:得到矩阵A的右上三角阵。 (8) 利用“:”将矩阵元素按列取出排成一列 方法:X=A(:)’ (3) 梯形面积法的积分函数trapz( ) 格式一:T=trapz(Y) 功能:以单位间隔,采用计算若干梯形面积的和来计算某函数的近似积分。如果Y为向量,计算Y的积分;如果Y是矩阵,得一个每列积分的行向量;如果Y为多维数组,则沿第一个非单元素维计算。 格式二:T=trapz(X,Y) 功能:用梯形积分法,依据X计算Y的积分。如果X为矢量,则Y必须是同大小的矢量;如果X是一列向量,并且数组Y第一非单元素维长度为length(X),则在该维中计算。 (4) 双重积分函数dblquad MATLAB提供了一个求双重积分的函数dblquad,其基本调用格式为: 格式:Q=dblquad(fun,xmin,xmax,ymin,ymax,tol) 功能:按指定精度tol,对指定函数 f(x, y)在[xmin, xmax]范围和[ymin, ymax]范围进行双重积分。精度tol缺省时默认精度为1e-6。 * 第 3 章 MATLAB在高等数学中的应用 第3章 MATLAB在高等数学中的应用 3.1 矩阵分析 3.2 多项式运算 3.3 数据的分析与统计 3.4 函数分析与数值积分 3.1 矩阵分析 1.矢量范数和矩阵范数 矩阵范数是对矩阵的一种测度。矢量的p范数和矩阵A的p范数分别定为: 当p=2时为常用的欧拉范数,一般p还可取l和∞。这在MATLAB中可利用norm函数实现,p缺省时为p=2。 格式:n=norm(A) 功能:计算矩阵A的最大奇异值,相当于n=max(svd(A))。 格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 2.矩阵求逆及行列式值 ⑴矩阵求逆函数inv及行列式值函数det 逆矩阵的定义:对于任意阶 n×n 方阵A,如果能找到一个同阶的方阵V,使得满足:A*V=I。其中I为n阶的单位矩阵eye(n)。则V就是A的逆矩阵。数学符号表示为:V=A-1。逆矩阵V存在的条件是A的行列式不等于0。 格式:V=inv(A) 功能:返回方阵A的逆矩阵V。 格式:X=det(A) 功能:计算方阵A的行列式值。 ⑵伪逆矩阵函数pinv 伪逆矩阵的MATLAB定义:从数学意义上讲,当矩阵A为非方阵时,其矩阵的逆是不存在的。在MATLAB中,为了求线性方程组的需要,把inv(A′*A)*A′的运算定义为伪逆函数pinv,这样对非方阵,利用伪逆函数pinv可以求得矩阵的伪逆,伪逆在一定程度上代表着矩阵的逆。 格式:C=pinv(A) 功能:计算非方阵A的伪逆矩阵。 3.线性代数方程求解 写成矩阵形式可表示为:AX=B 或

    展开全文
  • Matlab矩阵函数

    2021-04-23 23:49:44
    基本的矩阵函数 函数名称 功能和定义 cond(A) 求矩阵A条件数 det(A) 求矩阵A行列式值 dot(A,B) 求矩阵A和B点积 eig(A) 求矩阵A特征值和特征向量 norm(A,1) 求矩阵A1范数 ...

              线性代数中经常出现计算矩阵的行列式值、求矩阵的秩以及特征值等运算。矩阵的分解是矩阵和数据分析的基础。

    基本的矩阵函数

    函数名称 功能和定义
    cond(A) 求矩阵A的条件数
    det(A) 求矩阵A的行列式值
    dot(A,B) 求矩阵A和B的点积
    eig(A) 求矩阵A的特征值和特征向量
    norm(A,1) 求矩阵A的1范数
    norm(A)或norm(A,2) 求矩阵A的2范数
    norm(A,inf) 求矩阵A的无穷范数
    norm(A,'fro') 求矩阵A的F范数
    rank(A) 求矩阵A的秩
    rcond(A) 求矩阵A的倒条件数
    svd(A) 求矩阵A的奇异值分解
    trace(A) 求矩阵A的迹
    expm(A) 用特征值和特征向量法求矩阵A的指数
    logm(A) 求矩阵A的对数
    sqrtm(A) 求矩阵A的平方根

    注:logm(A)和sqrtm(A)计算矩阵的对数和平方根是指对矩阵A中的每个元素求对数和平方根。

           只有方阵才可以计算行列式的值,即det(A)的计算只有在A未方阵时才有意义。

    矩阵的分解函数

    函数名称 功能和定义
    cdf2rdf(V,D) 将复数对角形式转化成实数块对角形式
    chol(A) 将矩阵A作cholesky分解
    eig(A) 对矩阵A做特征值分解
    hess(A) 矩阵A的hessenberg形式
    lu(A) 对矩阵做LU分解
    null(A) 由奇异值分解得出的矩阵A的零空间的标准正交基
    orth(A) 矩阵A的行向量的标准正交基
    pinv(A) 求矩阵A的广义逆
    qr(A) 对矩阵A进行QR正三角分解
    qz(A) 对矩阵A进行QZ分解,用于广义特征值
    rref(A) 将矩阵A转化为逐行递减的阶梯阵
    rsf2csf(V,D) 将实数块对角形式转化为复数对角形式
    schur(A) 矩阵A的schur分解
    subspace

    计算由A、\B张成的子空间夹角

    svd(A) 对方阵A求奇异值分解

     

    展开全文
  • 上期我们简单介绍了矩阵的生成方式,这里详细说明矩阵的基本定义。首先矩阵大小可以用“size”函数查看,其中返回结果中第一个数字代表行数,第二个数字代表列数,第三个数字代表第三维,后面的数字以此类推。当需要...
  • MATLAB01:基本数学运算与矩阵运算

    万次阅读 多人点赞 2019-11-12 17:22:52
    基本的数学运算与矩阵运算MATLAB基本语法变量变量名保留变量不适合做变量...函数使用MATLAB进行矩阵运算定义矩阵向终端输入矩阵使用冒号运算符创建向量定义特殊矩阵矩阵的索引矩阵的操作操作矩阵的运算符操作矩阵的...
  • 如何从mex函数访问matlab结构字段中的矩阵? 我试图弄清楚如何从mex函数访问存储在matlab结构中字段中的矩阵。那真是漫长缠绕...让我解释一下:我有一个定义如下的matlab结构:matrixStruct = struct('matrix', ...
  • 矩阵定义 ...利用MATLAB函数创建矩阵 基本矩阵函数如下: (1) ones()函数:产生全为1的矩阵,ones(n):产生nn维全1矩阵,ones(m,n):产生mn维全1矩阵; (2) zeros()函数:产生全为0的矩阵; (3) ra
  • Matlab定义函数

    千次阅读 2016-01-24 08:38:00
    上篇博客介绍了在Matlab中自己定义简单函数的方法,本篇博客将介绍定义子函数的方法。本文承接上篇博客样例,即随机生成一个3行4列的矩阵矩阵元素设定上下限为(low,high)。并返回矩阵全部元素和。.m...
  • 奇异值:奇异值分解法是线性代数中一种重要的矩阵分解法,在信号处理、统计学等领域有重要应用。定义:设A为m*n阶矩阵,A'表示A的转置矩阵,A'*A的n个特征值的非负...奇异矩阵的判断方法:首先,看这个矩阵是不是方...
  • matlab定义数组和相关函数

    千次阅读 2019-11-04 19:44:50
    matlab中对数组的定义较为灵活,因为特殊矩阵较多,所以有许多特定的定义方法。比较常见有三种: 普通数组定义:用和C语言类似的定义方法,用分号隔开每行数据。 全零数组定义:zeros(x,y),x代表行数,y...
  • MATLAB是本人经常使用程序,编程过程中经常会有部分代码...同时matlab支持多输入多输出,函数的返回值可以为一个向量,矩阵,或者多个元素。为了让函数可以调用,需要对函数进行命名。matlab支持多输入多输出,函...
  • 矩阵的建立 一、矩阵定义 例:>> A = [1 2 3; 4 5 6; 7 8 9] 1、矩阵用方括号 “[ ]” 括起 2、 矩阵同一行中的元素之间用 空格 或 逗号 分隔 3、矩阵行与行之间用 分号 分开 4、直接输入法中,分号...
  • Matlab自己定义函数

    2019-10-01 06:19:56
    Matlab提供了强大的函数库供用户调用,但也支持用户自定义函数。本文使用了范德堡大学教授Akos Ledeczi授课中的样例来一步步说明怎样在Matlab中自定义函数。 首先,在command window中输入edit命令。開始编辑...
  • 首先普及一下LTI各类对象之间可以进行相互转换,下面列出这些转换函数的调用格式。1) sys=tf(sys) %将sys对象转换为TF模型2) sys=zpk(sys) %转换为ZPK模型3)sys=ss(sys) %转换为SS模型4)sys=frd(sys,frequency) %...
  • matlab矩阵的定义和运算

    万次阅读 2016-04-03 16:55:01
    一、矩阵的表示 在MATLAB中创建矩阵有以下规则: ...a、矩阵元素必须在”[ ]”内;...b、矩阵的同行元素之间用空格或逗号隔开;...c、矩阵的行与行之间用”;...d、矩阵的元素可以是数值、变量、表达式或函数
  •  1、定义和简单使用(一般编程语言,数组下标都是从0开始,但是MATLAB是从1开始)  >> a=[1 4 7; 2 5 8; 3 6 9] a = 1 4 7 2 5 8 3 6 9 >> b=[2 3 4;3 4 5;4 5 3]...
  • 函数文件基本结构 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:当多个形参时,形参之间用逗号分隔,组成形参表。当输出形参多于一个时,应该用方括号括起来,构成一个输出矩阵。 ...
  • matlab矩阵的表示与简单操作

    千次阅读 2020-02-11 23:19:36
    matlab矩阵的表示与简单操作 原文地址为:matlab矩阵的表示和简单操作 ...d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。 二,矩阵的创建: 1、直接输入法 最简单的建立矩阵的方法...
  • PAGE / NUMPAGES MatLab稀疏矩阵的存储与本征值求解 一Sparse matrix 稀疏矩阵函数sparse用法 稀疏矩阵定义 即其中只有很少非零元素的矩阵这样的矩阵就成为稀疏矩阵这种特性提供了矩阵存储空间和计算时间的优点例如 ...
  • Matlab的中Plot函数的基本用法(详解)

    万次阅读 多人点赞 2019-05-14 15:23:02
    本文接下来要讲解一下Matlab中最基本的Plot的用法 Plot的定义和用法 此 MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 如果 X 和 Y 都是向量,则它们的...中的一个是向量而另一个是矩阵,则矩阵的各维中...
  • 定理:若n*n阶矩阵A是对称正定,则存在一个对角元为正数下三角矩阵L,使得A = L’*L成立(其中L‘表示L共轭转置)。 用法 R=chol(A) chol(A)只使用A对角线和上三角形。下三角假设为上三角(复共轭)...
  • 新建一个.m文件,复制以下代码即可定义函数PlotConfusion,直接按要求调用即可: function F1=PlotConfusion(confusion_matrix) %输入混淆矩阵,绘制混淆矩阵图 %列方向是真实值,行方向是预测值 %或者说是x轴为...
  • 随着计算机技术及信息技术的发展,MATLAB在GIS中得到广泛的应用,提供许多定义完整的函数,可直接被使用。在本期中,我们总结一下常用的与等高线相关的函数。1. 生成等高线主要使用contour(Z) 创建一个包含矩阵 Z 的...
  • 随着计算机技术及信息技术的发展,MATLAB在GIS中得到广泛的应用,提供许多定义完整的函数,可直接被使用。在本期中,我们总结一下常用的与等高线相关的函数。1. 生成等高线主要使用contour(Z) 创建一个包含矩阵 Z 的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 759
精华内容 303
关键字:

matlab定义矩阵的函数

matlab 订阅