Matlab操作(1):基础的矩阵操作及运算

Matlab操作(1):基础的矩阵操作及运算_第1张图片

文章目录

  • 向量 / 矩阵的生成
          • 定义一个向量/矩阵
          • 矩阵生成的内置函数
  • 向量 / 矩阵的属性
          • 矩阵的大小
          • 矩阵的维度
  • 向量 / 矩阵的运算
          • 获取矩阵中的元素
          • 矩阵的元素重新赋值:
          • 矩阵进行扩展:(常用于增广矩阵)
          • 矩阵间的运算
          • 矩阵间的点运算


向量 / 矩阵的生成

定义一个向量/矩阵
>> A = [1 2; 3 4; 5 6]
A =
   1   2
   3   4
   5   6


>> A = [1 2;     % 	;号在这里的作用可以看做是换行符,也就是生成矩阵的下一行。
> 3 4;
> 5 6]
A =
   1   2
   3   4
   5   6
   
>> V1 = [1 2 3]
V1 =
   1   2   3

>> V2 = [1; 2; 3]
V2 =
   1
   2
   3
矩阵生成的内置函数

ones(m, n) 函数生成一个m行n列的矩阵,矩阵中每个元的值为1。

zeros(m, n) 函数生成一个m行n列的矩阵,矩阵中每个元的值为0。

rand(m, n) 函数生成一个m行n列的矩阵,矩阵的每个元是0到1之间的一个随机数。

eye(m) 函数生成一个大小为m的单位矩阵。

>> ones(2, 3)
ans =
   1   1   1
   1   1   1

>> w = zeros(1, 3)
w =
   0   0   0

>> w = rand(1, 3)
w =
   0.19402   0.23458   0.49843

>> eye(4)
ans =
Diagonal Matrix
   1   0   0   0
   0   1   0   0
   0   0   1   0
   0   0   0   1

向量 / 矩阵的属性

默认创建了一个矩阵,方便下文说明
A =
1 2
3 4
5 6

矩阵的大小

内置size函数

size函数返回的结果也是一个矩阵,但这个矩阵的大小是1×2,这个1×2的矩阵中,两个元素的值分别代表了参数矩阵的行数和列数。

增加参数可以选择需要的数据size(A, 1)为行数,size(A, 2)为列数

>> sa = size(A);
>> sa
sa =
   3   2
   
>> size(A, 1)
ans =  3
>> size(A, 2)
ans =  2
矩阵的维度

内置length函数

对于矩阵来说,它获取的是矩阵中最大的那个维度的值;对于向量来说,它获取的就是向量的维度了

>> V = [1 2 3 4] 
V =
   1   2   3   4

>> length(V)
ans =  4

octave:67> length(A)
ans =  3

向量 / 矩阵的运算

获取矩阵中的元素

获取矩阵指定行指定列的元素:使用括号取值,返回一个元素(注意,下标编号是从1开始的不是从0哦)

>> A(3, 2)
ans =  6

获取矩阵指定整行或整列的元素:括号中使用:代替行或列,返回一个向量

>> A(3,:)
ans =
   5   6

>> A(:, 2)
ans =
   2
   4
   6

也可以指定要获取的某几行或某几列的元素:括号中使用方括号包含你想选择的列

>> A([1, 3],:)
ans =
   1   2
   5   6

>> A(:,[2])
ans =
   2
   4
   6
矩阵的元素重新赋值:
>> A(:,2) = [10, 11, 12]
A =
    1   10
    3   11
    5   12

>> A(1,:) = [11 22]
A =

   11   22
    3    4
    5    6
矩阵进行扩展:(常用于增广矩阵)
>> A = [A [100; 101; 102]] 
A =
     1    2   100
     3    4   101
     5    6   102
矩阵间的运算

设A,B,C三个矩阵

>> A*C
>> A/C
>> A^2
矩阵间的点运算

可以理解为对矩阵中每个元素做对应运算

>> A .^ 2
ans =
    1    4
    9   16
   25   36

>> 1 ./ [1; 2; 3]
ans =
   1.00000
   0.50000
   0.33333

%(A中的各个元素乘以B中对应位置的元素)
>> A .* B  
ans =
   11   24
   39   56
   75   96
   
   
%(特殊情况:当一个实数与矩阵做乘法运算时,我们可以省略.直接使用*即可)
>> -1 * [1; -2; 3]  % 也可以简写为 -1[1; 2; 3]
ans =
  -1
   2
  -3

以上是矩阵的基本操作,更多线性代数中的矩阵操作跳转我的另外一篇博客:
Matlab操作(2):线性代数中求矩阵相关数据的高级方法

你可能感兴趣的:(Matlab,matlab,线性代数)