基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式

这篇具有很好参考价值的文章主要介绍了基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本节主要讨论矩阵的基本概念和性质,结合MATLAB的基础代码,适合新手。

一. 行列式

矩阵的行列式的数学定义如下:

MATLAB调用的格式如下:

d=det(A)

例题1

求以下矩阵的行列式:

解:

MATLAB代码如下:

clc;clear;
A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];
det(A)

运行结果:
ans =

   5.1337e-13

例题2

利用解析解的方法计算20✖️20的Hilbert矩阵的行列式,并分析其代码运行时间。

解:

MATLAB代码:

clc;clear;
tic, %时间的开端
A=sym(hilb(20)); %20阶的hilbert矩阵,并写成符号形式
det(A),
toc %时间的结束

运行的结果较长,如下:

ans =
1/2377454716768534509091644243427616440175419837753486493033185331234419759310644585187585766816573773440565759867265558971765638419710793303386582324149811241023554489166154717809635257797836800000000000000000000000000000000000

历时 0.246496 秒

分析:可通过此结果推断高阶的Hilbert矩阵式接近奇异的矩阵

二. 矩阵的迹

在数学中,方阵的迹定义如下:

MATLAB的格式如下:

t=trace(A)

三. 矩阵的秩

矩阵的秩可以理解为该矩阵中行列式不等于0的子式中最大的阶次。基于线性无关性质,行秩和列秩是相等的,MATLAB格式如下:

r=rank(A); %利用默认的精度求数值秩
r=rank(A); %给定精度下,求数值秩

上式子中,r可代表列秩或行秩。

例题3

求矩阵A的秩,A的表达式如下:

解:

MATLAB代码如下:

clc;clear;
A=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];
rank(A)

运行结果:
ans =

     3

分析:该矩阵的秩为3,小于该矩阵的阶次4,所以次矩阵为非满秩矩阵

例题4

利用数值方法解析方法分别求20✖️20的Hilbert矩阵的秩。

解:

MATLAB代码如下:

clc;clear;
H=hilb(20);
r1=rank(H) %数值方法
H1=sym(hilb(20));
r2=rank(H1) %解析方法

运行结果:

r1 = 13
r2 = 20

分析:两种方法运行结果不一样,原因是原矩阵为非奇异矩阵

四. 矩阵范数

首先,我们来认识下向量的范数。函数为向量的范数,需要满足如下三个基本条件:

  1. ,的充要条件是
  2. ,其中a为任意的标量
  3. 对任意向量x和y,都有基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式

令代表向量的范数,从数学的观点上,范数的计算公式如下:

此式子中,

由向量的范数延伸到矩阵的范数,对于任意的非零向量x,矩阵A的范数可定义如下:

常用的三个范数计算如下:

在MATLAB中调用的格式如下:

N=norm(A)  %求解默认为2的范数
N=norm(A,others) %others可填1,,2,inf等

例题5

求解以下向量a和矩阵A的范数。

a=[16 2 3 13];

解:

MATLAB代码如下:

clc;clear;
a=[16 2 3 13];
a1=[norm(a),norm(a,2),norm(a,1),norm(a,inf)]
%分别求向量 默认,2,,1,无穷大的范数
A=[16 2 3 13;5 11 10 8;9 7 6 12;0 7 3 6];
A1=[norm(A),norm(A,2),norm(A,1),norm(A,inf)]
%分别求矩阵 默认,2,,1,无穷大的范数

说明:因为符号运算工具箱未提供norm()函数,所以如果给出的是符号矩阵,则需要先用double()函数转换成双精度数值矩阵,再调用norm()函数即可。

五. 特征多项式

矩阵A的特征多项式,定义如下:

基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式

MATLAB调用的格式,如下:

C=poly(A)

例题6

求矩阵A的特征多项式。

解:

MATLAB代码如下:

clc;clear;
A1=[16 2 3 13;5 11 10 8;9 7 6 12;4 14 15 1];
C1=poly(A1) %直接求解

A2=sym(A1);
C2=charpoly(A2) %运用符号工具箱求解

运行结果:
C1 =

   1.0e+03 *

    0.0010   -0.0340   -0.0800    2.7200    0.0000

 
C2 =
[ 1, -34, -80, 2720, 0]

分析:两个结果一致

六. 矩阵多项式

矩阵多项式的数学形式如下:

基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式

MATLAB调用的格式,如下:

B=polyvalm(a,A)

如果是点运算,则定义如下形式:

基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式

MATLAB调用格式,如下:

C=polyval(a,x)

可以将多项式P中的自变量s替换为x,MATLAB格式如下:

C=subs(p,s,x)

例题7

(1)求向量与矩阵间的矩阵多项式

(2)求向量与向量间的矩阵多项式

解:

MATLAB代码如下:

clc;clear;
a=[1 2 3 4];
A=[5 6;7 8];
x=[7 8 9];

C1=polyvalm(a,A)

C2=polyval(a,x)

运行结果:

C1 =

        1034        1200
        1400        1634


C2 =

   466   668   922文章来源地址https://www.toymoban.com/news/detail-447001.html

到了这里,关于基于MATLAB的矩阵性质:行列式,秩,迹,范数,特征多项式与矩阵多项式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LA@行列式性质

    设行列式 ∣ A ∣ = d e t ( a i j ) |A|=mathrm{det}(a_{ij}) ∣ A ∣ = det ( a ij ​ ) ,行列式性质主要有5条 转置不变性质 行列式与它的转置行列式相等 或说经过转置,行列式的值不变(方阵 A A A 转置前后取行列式的值相等) ∣ A T ∣ = ∣ A ∣ |A^T|=|A| ∣ A T ∣ = ∣ A ∣ n n n 阶方阵 B = A T B=

    2024年02月14日
    浏览(30)
  • 线性代数——行列式相关性质

    目录 一、行列式与它的转置列行列式相等 二、对换行列式的两行(列),行列式变号  三、行列式某行(列)有公因子k,则k可以提到行列式外 四、行列式中若两行成比例,则行列式为0 五、行列式的某一行(列)的元素都是两数之和,则  六、将行列式的某行(列)元素乘

    2024年01月19日
    浏览(42)
  • 1.2 行列式的性质和计算

      当学习行列式性质和计算时,以下是一些具体的学习目标: 理解行列式的定义和计算方法,能够准确计算给定的行列式。(最基本的) 熟练掌握行列式的基本性质,包括交换行列式的两行或两列、用一个数乘行列式的某一行或某一列、将两行或两列相加到另一行或另一列

    2024年01月16日
    浏览(26)
  • 6.利用matlab完成 符号矩阵的秩和 符号方阵的逆矩阵和行列式 (matlab程序)

    1. 简述        利用 M 文件建立矩阵     对于比较大且比较复杂的矩阵,可以为它专门建立一个 M 文件。下面通过一个简单例子来说明如何利用 M 文件创建矩阵。     例 2-2   利用 M 文件建立 MYMAT 矩阵。 (1)  启动有关编辑程序或 MATLAB 文本编辑器,并输入待建矩阵: (

    2024年02月13日
    浏览(38)
  • MATLAB机器人对偏导数、雅克比矩阵、行列式的分析与实践

    偏导数、雅克比矩阵、行列式都是非常重要的知识点,为了让大家更容易看懂,尽量使用画图来演示。 对于导数我们已经很清楚了,某点求导就是某点的斜率,也就是这点的变化率。那么偏导数是什么,跟导数有什么不一样的地方,其实是一样的,只不过偏导是在多元(多个

    2024年02月05日
    浏览(32)
  • 矩阵——对称行列式快解

    1、先化成爪型行列式 2、再化成上三角或下三角 第一步:把第1行的1倍分别加至第2、3、4行,化为爪型行列式 第二步:把第2、3、4列的(-1)倍都加到第1列,化为上三角 第三步:得出结果

    2024年02月16日
    浏览(36)
  • 范德蒙矩阵 范德蒙行列式

    应用 文心回答 范德蒙矩阵的应用场景十分广泛,主要体现在以下几个方面: 商业领域:范德蒙矩阵为商业研究提供了一个有力的工具。通过范德蒙矩阵的分析,企业可以更好地理解消费者的行为模式、购买习惯以及社会关系网络,进而制定更精准的营销策略和产品定位。

    2024年03月23日
    浏览(44)
  • 矩阵与行列式计算注意点

    要注意,矩阵的初等变换只在计算方程组的解和计算秩的时候使用,而且计算方程组的解时,只能进行行变换,而计算矩阵的秩时,则可以行变换和列变换同时用,因为这样不会改变矩阵的秩。 行列式也是可以同时行变换和列变换,这样也不会改变行列式的值。 矩阵提公因

    2024年02月11日
    浏览(36)
  • 线代:认识行列式、矩阵和向量

    本文主要参考的视频教程如下: 8小时学完线代【中国大学MOOC*小元老师】线性代数速学_哔哩哔哩_bilibili 另外这个视频可以作为补充: 【考研数学 线性代数 基础课】—全集_哔哩哔哩_bilibili 一般会由方程组来引出行列式 比如一个二阶行列式 二阶行列式的计算就是主对角线的

    2024年02月19日
    浏览(33)
  • python如何算矩阵的行列式

    在 Python 中,可以使用 NumPy 库中的 linalg.det() 函数来计算矩阵的行列式。例如,假设你要计算以下矩阵的行列式: $$A=begin{bmatrix}1 2 34 5 67 8 9end{bmatrix}$$ 你可以使用 NumPy 库来计算它的行列式,方法如下: 运行上面的代码后,将输出矩阵 A 的行列式的值,即: 注意,如果矩阵

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包