Matlab的矩阵知识

矩阵引用:

  1. 单个元素引用

    • 可以通过行下标和列下标来引用矩阵中的单个元素。例如,对于矩阵AA(2,3)表示引用矩阵A的第 2 行第 3 列的元素。
    • 下标从 1 开始,而不是像某些编程语言那样从 0 开始。
  2. 多个元素引用

    • 可以使用冒号来表示一个范围的下标。例如,A(1:3,2)表示引用矩阵A的第 1 行到第 3 行的第 2 列元素,结果是一个包含三个元素的列向量。
    • A(:,2)表示引用矩阵A的所有行的第 2 列元素,结果是一个列向量
  3. 引用连续的行和列

    • 例如,对于矩阵AA(2:4,3:5)表示引用矩阵A从第 2 行到第 4 行以及从第 3 列到第 5 列的子矩阵。
    • A(1:2:end,1:3)表示引用矩阵A中从第 1 行开始,每隔一行(即第 1、3、5 等行)以及第 1 列到第 3 列的元素。
  4. 引用不连续的行和列

    • 可以使用向量作为下标来引用不连续的行和列。例如,A([1,3,5],[2,4])表示引用矩阵A的第 1、3、5 行和第 2、4 列的元素,结果是一个新的矩阵。

矩阵知识:

       一、矩阵的逆

  • 解释:对于一个方阵A,如果存在一个方阵B,使得AB=BA=I(其中是单位矩阵),那么就是的逆矩阵,记作A^-1。
  • MATLAB 代码:
  • A = [1 2; 3 4];
    invA = inv(A);

    二、矩阵的旋转

  • 解释:通过线性变换将矩阵绕原点进行旋转。通常使用旋转矩阵来实现。rot90函数可以将矩阵逆时针旋转 90 度。
  • MATLAB 代码:
  • theta = pi/4; % 旋转角度
    R = [cos(theta) -sin(theta); sin(theta) cos(theta)];
    A = [1 2; 3 4];
    rotatedA = R * A;
    A = [1 2 3; 4 5 6; 7 8 9];
    rotatedA = rot90(A);

    三、矩阵的主对角线

  • 解释:从矩阵的左上角到右下角的对角线元素。
  • MATLAB 代码:
    A = [1 2 3; 4 5 6; 7 8 9];
    diagonalElements = diag(A);

    四、矩阵的上三角

  • 解释:矩阵中主对角线及其上方的元素组成的部分。
  • MATLAB 代码:
    A = [1 2 3; 4 5 6; 7 8 9];
    upperTriangle = triu(A);

    五、矩阵的下三角

  • 解释:矩阵中主对角线及其下方的元素组成的部分。
  • MATLAB 代码:
  • A = [1 2 3; 4 5 6; 7 8 9];
    lowerTriangle = tril(A);

    六、矩阵的秩

  • 解释:矩阵中线性无关的行向量或列向量的最大数目。
  • MATLAB 代码:
  • A = [1 2 3; 4 5 6; 7 8 9];
    rankA = rank(A);

    七、矩阵的范数

  • 解释:衡量矩阵大小的一种方式,常见的有1范数、2范数、无穷范数等。
  • MATLAB 代码:
  • A = [1 2; 3 4];
    norm1 = norm(A,1)
    norm2 = norm(A)
    normInf = norm(A,Inf)
    %%用法
    %norm(A,p):计算矩阵A的p范数。
    %当p省略或为 2 时,计算矩阵的 2 范数,它是矩阵的最大奇异值。
    %当p = 1时,计算矩阵的 1 范数,即矩阵列向量的 1 范数中的最大值。
    %当p = Inf时,计算矩阵的无穷范数,即矩阵行向量的 1 范数中的最大值。
    %%意义
    %矩阵的范数可以用来衡量矩阵的大小、%%稳定性%%等性质。
    %在数值分析、线性代数和优化等领域中,矩阵范数在误差分析起着重要的作用。
    %%结果
    %norm1 =6
    %norm2 =5.4650
    %normInf =7

    八、矩阵的条件数

  • 解释:衡量矩阵 “病态程度” 的指标,条件数越大,矩阵越接近奇异,求解线性方程组时对数据的微小变化越敏感。
  • MATLAB 代码:
  • A = [1 2; 3 4];
    condA = cond(A);

    九、矩阵的迹

  • 解释:矩阵主对角线元素之和。
  • MATLAB 代码
  • A = [1 2 3; 4 5 6; 7 8 9];
    traceA = trace(A);

    十、矩阵的特征值和特征向量

  • 解释:对于方阵,如果存在非零向量和标量。完成相关条件。
  • MATLAB 代码:
  • A = [1 2; 3 4];
    [eigenvectors,eigenvalues] = eig(A);

    eig函数用于计算矩阵的特征值和特征向量。

     

    语法

  • A = [1 2; 3 4];
    B = [5 6; 7 8];
    [V,D] = eig(A,B);
    disp('广义特征值:');
    disp(D);
    disp('广义特征向量:');
    disp(V);
  • [V,D] = eig(A)

    • A是要计算特征值和特征向量的方阵。
    • V是特征向量矩阵,每一列是一个特征向量。
    • D是对角矩阵,其对角线上的元素是A的特征值,与V中的特征向量相对应。
  • eig(A,B)

    • 计算广义特征值问题A*x = lambda*B*x,其中AB是方阵。
    • 返回广义特征值lambda,可以通过[V,D] = eig(A,B)来同时获得广义特征向量矩阵V和广义特征值矩阵D

特殊矩阵生成

在 MATLAB 中可以生成多种特殊矩阵,以下是一些常见的特殊矩阵及其生成方法:

一、零矩阵

使用zeros函数生成零矩阵。
语法:zeros(m,n)zeros(n)(生成的零矩阵)。
示例:

A = zeros(3,4); % 生成 3 行 4 列的零矩阵
B = zeros(5); % 生成 5×5 的零矩阵

二、单位矩阵

使用eye函数生成单位矩阵。
语法:eye(n)生成的单位矩阵。

I = eye(4); % 生成 4×4 的单位矩阵

三、全一矩阵

使用ones函数生成全一矩阵。
语法:ones(m,n)ones(n)(生成的全一矩阵)。

M = ones(2,3); % 生成 2 行 3 列的全一矩阵
N = ones(6); % 生成 6×6 的全一矩阵

四、对角矩阵

使用diag函数从向量生成对角矩阵。
语法:diag(v),其中v是一个向量,生成以v为对角线元素的对角矩阵。
示例:

A = [1 2 3; 4 5 6; 7 8 9];
d = diag(A); % 提取 A 的主对角线元素生成向量

六、希尔伯特矩阵

使用hilb函数生成希尔伯特矩阵。
语法:hilb(n)生成的希尔伯特矩阵,其元素。
示例:

H = hilb(4);

七、魔方矩阵

使用magic函数生成魔方矩阵。
语法:magic(n)生成的魔方矩阵,其行、列和对角线元素之和相等。
示例:

M = magic(5);

五、随机矩阵

生成均匀分布的随机矩阵。

  • 使用rand函数。语法:rand(m,n)生成的矩阵,其元素在区间上均匀分布。
  • 示例:R = rand(3,4);

生成正态分布的随机矩阵。

  • 使用randn函数。语法:randn(m,n)生成的矩阵,其元素服从均值为 0、方差为 1 的正态分布。
  • 示例:N = randn(2,2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值