MATLAB中矩阵及其运算

矩阵是MATLAB最基本、最重要的数据对象。单个数据(标量)可以看成是矩阵的特例。所有MATLAB中的矩阵数据都按列存放。

一、矩阵的建立

1.直接输入法

  * 将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。

  * 矩阵元素可以是运算表达式。

  * 若“[  ]”中无元素表示空矩阵。

  * 矩阵大小不需要预先定义。

  例如:A = [1 2 3;4 5 6;7 8 9]

2.利用M文件建立矩阵

  对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件或txt文件。即把矩阵的数据存放在M文件中,再导入即可。

3.利用MATLAB函数建立矩阵

  * 几个产生特殊矩阵的函数:zeros、ones、eye、rand、randn。

  * 这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:

    zeros(m)          产生m×m零矩阵

    zeros(m,n)       产生m×n零矩阵。

    zeros(size(A))   产生与矩阵A同样大小的零矩阵

  * 相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A));

随机数矩阵:

  * rand(m,n) 产生m×n矩阵,其中的元素是服从[0,1]上均匀分布的随机数。

  * normrnd(mu,sigma,m,n)产生m×n矩阵,其中的元素是服从均值为mu,标准差为sigma的正态分布的随机数。

  * exprnd(mu,m,n) 产生m×n矩阵,其中的元素是服从均值为mu的指数分布的随机数。

  * poissrnd(mu,m,n) 产生m×n矩阵,其中的元素是服从均值为mu的泊松(Poisson)分布的随机数。

  * unifrnd(a,b,m,n) 产生m×n矩阵,其中的元素是服从区间[a,b]上均匀分布的随机数。

随机置换:

  * randperm(n)产生1到n的一个随机全排列。

  * perms([1:n])产生1到n的所有全排列。

4.建立大矩阵

大矩阵可由方括号中的小矩阵建立起来。

例如:

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

   C=[A,eye(size(A)); ones(size(A)),A]

冒号表达式 

例如:

a=1:0.5:4

x=linspace(a,b,n)

%    创建从a开始,到b结束,有n个元素的等差行向量

x=logspace(a,b,n)

%    创建从10^a开始,到10^b结束,有n个元素的等比行向量.

二、矩阵拆分

1.矩阵元素

  * MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。例如

    A(3,2)=200

  * 也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。

  * 以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。

2.矩阵拆分

(1)利用冒号表达式获得子矩阵

①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。

②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。

    此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。 

三、矩阵运算

1.基本算术运算

  MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。

  注意:运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。

   设A是可逆矩阵,Ax=B的解是A左除B即X=A\B;XA=B的解是A右除B,即X=B/A

2.点运算

  点运算符有.*./.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值