matlab入门——矩阵(运算编辑高维矩阵对角矩阵)

Posted 脑壳二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab入门——矩阵(运算编辑高维矩阵对角矩阵)相关的知识,希望对你有一定的参考价值。

matlab基础知识——矩阵(运算、高维矩阵、对角矩阵、矩阵编辑抽取)

原创不易,路过的各位大佬请点个赞

1.矩阵定义

MATLAB以矩阵做为数据操作的基本单元,因此matlab又被称之为举证实验室或大型计算器。Matlab计算矩阵非常便捷、方便、高效。
在matlab创建矩阵时基本语法:

1. 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。
2. 矩阵同行元素之间由空格(个数不限)或逗号分隔,行与行之间用分号或回车键分隔。
3. 矩阵大小不需要预先定义。
4. 矩阵元素可以是运算表达式。
5. 若“[]”中无元素,表示空矩阵。
6. 如果不想显示中间结果,可以用“;”结束。

a=[15 15 15;15 15 15;15 15 15]
 
a =
    15    15    15
    15    15    15
    15    15    15
A=[]A=[a,a*2,a*10]

A =
    15    15    15    30    30    30   150   150   150
    15    15    15    30    30    30   150   150   150
    15    15    15    30    30    30   150   150   150

2、矩阵的生成

  1. 直接像上面写一个矩阵
A=[1,2,3;4,5,6;7,8,9]
  1. 读取工作区中的矩阵
A
A =
     1     2     3
     4     5     6
     7     8     9
  1. 读取事先保存的矩阵
%事先在txt文件中存储1,2,3;3,4,5;5,6,7
load A.txt
A=[1,2,3;3,4,5;5,6,7];
save A.mat
load A.mat

3、创建特殊矩阵

在这里插入图片描述

 zeros(3,4)
ans =

     0     0     0     0
     0     0     0     0
     0     0     0     0

>> eye(3)
ans =

     1     0     0
     0     1     0
     0     0     1

>> ones(1,3)
ans =

     1     1     1

>> magic(3)
ans =

     8     1     6
     3     5     7
     4     9     2

>> rand(2,4)
ans =

    0.8147    0.1270    0.6324    0.2785
    0.9058    0.9134    0.0975    0.5469

4、创建高维矩阵

4.1创建三维矩阵

矩阵的:号表示该维的所有元素;比如*B(:,:)表示矩阵B的所有行和列
矩阵的:号表示该维的所有元素;比如*B(:,1)表示矩阵B的第一列的所有元素
矩阵的:号表示该维的所有元素;比如*B(1,:)表示矩阵B的第一行的所有元素

>> B(:,:,1)=[1,2;1,2];
>> B(:,:,2)=[3,4;3,4];
>> B(:,:,3)=[5,6;7,8];
>> B
ans
B(:,:,1) =
     1     2
     1     2
B(:,:,2) =
     3     4
     3     4
B(:,:,3) =

     5     6
     7     8

4.2创建多维维矩阵

%Li表示第i维的维数
L1=2;
L2=4;
L3=2;
L4=2;

%生成L1 x L2 x L3 x L4的4维矩阵
for i4=1:L4
    for i3=1:L3
        for i2=1:L2
            for i1=1:L1
                CC(i1,i2,i3,i4)=i3*i4;
            end
        end
    end
end

ans
>> CC
CC(:,:,1,1) =

     1     1     1     1
     1     1     1     1
CC(:,:,2,1) =

     2     2     2     2
     2     2     2     2
CC(:,:,1,2) =
     2     2     2     2
     2     2     2     2
CC(:,:,2,2) =

     4     4     4     4
     4     4     4     4

4.3创建多维特殊矩阵

ones(2,3,4)

rand(3,4,5,6)

randn(4,5,6,1)

 A=[1,2,3;3,4,5;5,6,7];
 B(:,:,1)=A;
 B(:,:,2)=A*2;
 B(:,:,3)=A*3;

5、创建对角矩阵\\分块对角矩阵

对角矩阵语法:diag( )
分块对角矩阵: blkdiag(A,B,C)

A=diag([1,2,3,4,5,6])
A =
     1     0     0     0     0     0
     0     2     0     0     0     0
     0     0     3     0     0     0
     0     0     0     4     0     0
     0     0     0     0     5     0
     0     0     0     0     0     6

B=diag(ones(1,5))

分块对角矩阵

>> A=[1,2,3;4,5,6;6,7,8];
>> B=[1,2;3,4];
>> C=[11,22;33,44];
>> blkdiag(A,B,C)

ans =

     1     2     3     0     0     0     0
     4     5     6     0     0     0     0
     6     7     8     0     0     0     0
     0     0     0     1     2     0     0
     0     0     0     3     4     0     0
     0     0     0     0     0    11    22
     0     0     0     0     0    33    44

6、矩阵元素的运算

矩阵创建起来,第一个面临的任务就是修改编辑其元素
在这里插入图片描述

A=[1,2,3;4,5,6;7,8,9]
A =
     1     2     3
     4     5     6
     7     8     9

>> A(1,:)=[]
A =
     4     5     6
     7     8     9
>> A(2,:)=[]
A =

     4     5     6
A=[1,2,3;4,5,6;7,8,9]
>> A(2,2)=100
A =
     1     2     3
     4   100     6
     7     8     9
     
A(2,3)=123456
A =
           1           2           3
           4         100      123456
           7           8           9

同样高维矩阵也可以修改,修改方法一样,只要在()中标注好修改元素的位置

7、矩阵 变维

矩阵的变维可以用符号“:”法和reshape函数法。reshape函数的调用形式如下。reshape(X,m,n):将已知矩阵变维成m行n列的矩阵。

A=1:12;
B=reshape(A,2,6)
C=zeros(3,4);       			%用“:”法必须先设定修改后矩阵的形状
C(:)=A(:)

B =
     1     3     5     7     9    11
     2     4     6     8    10    12
C =

     1     4     7    10
     2     5     8    11
     3     6     9    12

8、矩阵 变向

在这里插入图片描述

9、矩阵的抽取、读取

对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。对角矩阵和三角矩阵的抽取命见下
在这里插入图片描述

原创不易,路过的各位大佬请点个赞

以上是关于matlab入门——矩阵(运算编辑高维矩阵对角矩阵)的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB从入门到精通系列之MATLAB维度获取size()函数详解

matlab 怎么表示一个矩阵的转置?

MATLAB矩阵处理——2.2矩阵变换

Matlab入门

matlab如何生成对角元素为无穷大,且对称的矩阵

MATLAB从入门到精通:基本矩阵运算-矩阵的基本方法和函数