matlab_矩阵的灵活操作

Posted wjwnature

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab_矩阵的灵活操作相关的知识,希望对你有一定的参考价值。

矩阵的随心所欲的世界:

  1. 矩阵的生成【创建】
  2. 矩阵的扩充
  3. 矩阵的操作【访问、赋值、删减、变向、抽取】
  4. 矩阵的分块【划分子集】

1.  矩阵的生成

  使用            功能
1) 特殊字符 [ ]    直接输入构造数组
2) zeros()函数    构造全0数组

2.  矩阵的扩充

使用 特殊字符 [ ]
Example:
  原矩阵A,需要扩充的元素B,C
D = [A,B,C] 扩充列
D = [A;B,C] 扩充行
...【扩充符合矩阵的大小性质均可】
错误操作:
A = [1,2]
B = [1;2]
C = [A,B]?(显然不符合矩阵的性质)

3.  矩阵的操作

  1)访问

A(i,j)使用 特殊字符()  下标索引
如:访问二维数组(矩阵)A

  A(i,j)

  2)赋值

希望的操作     语句     注释

对单个元素赋值    A(m , n) = b  【对A第m行,第n列的元素赋值】
对某单行赋值     A(: , m) = b   【对第m列赋值】|| A(1:end , m) = b
对某单列赋值     A(m , :) = b   【对第n行赋值】|| A(m , 1:end) = b
对某一部分子矩阵   A(a:b , m:n) = B 【对A中以A(a,m),A(b,n)元素为对角形成的子矩阵赋值】

  3)删减

希望的操作     语句     注释

关键:元素值=0 不等同于 元素=空
删除行 A(:,m) = [] 删除A的第m列
删除列 A(m,:) = [] 删除A的第m行

    4)变向【翻转】

flip     翻转元素顺序
fliplr      将数组从左向右翻转   每行操作
flipud       将数组从上向下翻转 每列操作

4.  矩阵的分块

    渴望            操作

对M×N矩阵X分块(子集)T1,T2
纵着切一刀              T1 = X(: , 1:m),T2 = X(: , m+1:N) 第m列与第m+1列为分割列
横着切一刀              T1 = X(1:m , :),T2 = X(m+1:M , :) 第m行与第m+1行为分割行

对M×N矩阵X分块(任意)        同理

以上是关于matlab_矩阵的灵活操作的主要内容,如果未能解决你的问题,请参考以下文章

matlab对矩阵/向量的常用操作(拼接矩阵向量逆序改变矩阵形状求行阶梯形矩阵提取矩阵的一部分等)

matlab对矩阵/向量的常用操作(拼接矩阵向量逆序改变矩阵形状求行阶梯形矩阵提取矩阵的一部分等)

Matlab系列MATLAB矩阵的基本运算及操作

Matlab高级教程_第一篇:Matlab基础知识提炼_05

DAY13 Matlab矩阵操作随手练习

MEX 文件中 Matlab 矩阵的线性索引