码迷,mamicode.com
首页 > 其他好文 > 详细

matlab矩阵函数总结

时间:2015-07-20 12:15:40      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

MATLAB 的基本数据单位是矩阵,它的指令表达与数学工程中常用的习惯形式十分相似,除了直接用[ ]来输入数组输入矩阵外,还可以借助函数来生成矩阵。

ones( ) 创建一个所有元素都为 1 的矩阵,其中可以制定维数,1,2….个变量

zeros() 创建一个所有元素都为 0 的矩阵,但是类型仍未double型

初始化一个逻辑类型的矩阵:A = true(5,5)或者A = false(5,5)

eye() 创建对角元素为 1,其他元素为 0 的矩阵

diag() 根据向量创建对角矩阵,即以向量的元素为对角元素

magic() 创建魔方矩阵

rand() 创建随机矩阵,服从均匀分布

randn() 创建随机矩阵,服从正态分布

randperm() 创建随机行向量

horcat C=[A,B],水平聚合矩阵,还可以用 cat(1,A,B)

vercat C=[A;B],垂直聚合矩阵, 还可以用 cat(2,A,B)

repmat(M,v,h) 将矩阵 M 在垂直方向上聚合 v 次,在水平方向上聚合 h 次

blkdiag(A,B) 以 A,和 B 为块创建块对角矩阵


  • Matlab数组的下标是从“1”开始的,这点与C语言不同;
  • MATLAB规定矩阵元素在存储器中的存放次序是按列的先后顺序存放,即存完第1列后,再存第2列,依次类推。例如,有一个3×4阶的矩阵B,若要把它存储在计算机中,其存放次序就如表2-13所示。C语言就是按行的先后顺序来存放数组元素的,即存完第1行后,再存第2行,依次类推。因此对应的访问顺序B(3)即访问到B(3,1)  B(10)访问到B(1,4)。
  • 技术分享
  • 与C语言不同,matlab矩阵、数组不用事先定义大小,可以动态增加
>> m=1
m = 1 
>> m(1,2)=2       
 m = 1     2 
>> m(2,1)=3
m =
     1     2
     3     0
  • matlab矩阵、数组可以动态改变形状 reshape
>> A=-4:4
A =
    -4    -3    -2    -1     0     1     2     3     4
>> A=reshape(A,3,3)
A =
    -4    -1     2
    -3     0     3
    -2     1     4
  • 数组转置、上下对称交换和旋转操作后果的对照比较
A =
    -4    -1     2
    -3     0     3
    -2     1     4
>> A‘ //转置矩阵
ans =
    -4    -3    -2
    -1     0     1
     2     3     4
>> A‘==A.‘ //另一种转置,只有复数时两种转置不一致
ans = //因此得到的逻辑矩阵为全真
     1     1     1
     1     1     1
     1     1     1
>> flipud(A)// 上下翻转
ans =
    -2     1     4
    -3     0     3
    -4    -1     2
>> fliplr(A) //左右翻转
ans =
     2    -1    -4
     3     0    -3
     4     1    -2
>> rot90(A) //逆时针旋转90度
ans =
     2     3     4
    -1     0     1
    -4    -3    -2
  • 矩阵复制法拓展
>> A=reshape(1:9,3,3)
A =
     1     4     7
     2     5     8
     3     6     9
>> A(4,4)=1111
A =
           1           4           7           0
           2           5           8           0
           3           6           9           0
           0           0           0        1111
>> A(:,6)=2222
A =
           1           4           7           0           0        2222
           2           5           8           0           0        2222
           3           6           9           0           0        2222
           0           0           0        1111           0        2222
  • d
  • d
  • s
  • s
  • s
  • sSD
  • S
  • S
  • S
  • S
  • S
  • S
  • S
  • S




matlab矩阵函数总结

标签:

原文地址:http://www.cnblogs.com/geekvc/p/4660782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!