编写一个matlab矩阵函数,MATLAB矩阵 及图像函数

MATLAB之矩阵的基本运算

1.1 数值矩阵的生成

1.实数值矩阵输入

输入矩阵方法:用键盘上方括号“ [ ]

”代替矩阵括号。矩阵数据在方括号内按行输入,同一行相邻元素用空格(或逗号)隔开,相邻两行用分号“;”隔开。 例如:

>> A=[1 2 3 4;5,6,7,8;9 10 11

12] %输出3行4列的矩阵A

A =

1 2 3 4

5 6 7 8

9 10 11 12

2.复数矩阵输入

>> R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]

R =

1 2 3

4 5 6

M =

11 12 13

14 15 16

>> CN=R+i*M

CN =

1.0000

+11.0000i 2.0000

+12.0000i 3.0000

+13.0000i

4.0000

+14.0000i 5.0000

+15.0000i 6.0000

+16.0000i

1.3 特殊矩阵的生成

命令 全零阵

函数 zeros

格式 B =

zeros(n) %生成n×n全零阵

B =

zeros(m,n) %生成m×n全零阵

B = zeros([m

n]) %生成m×n全零阵

B =

zeros(d1,d2,d3…) %生成d1×d2×d3×…全零阵或数组

B = zeros([d1 d2

d3…]) %生成d1×d2×d3×…全零阵或数组

B =

zeros(size(A)) %生成与矩阵A相同大小的全零阵

命令 单位阵

函数 eye

格式 Y = eye(n) %生成n×n单位阵

Y = eye(m,n) %生成m×n单位阵

Y = eye(size(A)) %生成与矩阵A相同大小的单位阵

命令 全1阵

函数 ones

格式 Y =

ones(n) %生成n×n全1阵

Y =

ones(m,n) %生成m×n全1阵

Y = ones([m

n]) %生成m×n全1阵

Y =

ones(d1,d2,d3…) %生成d1×d2×d3×…全1阵或数组

Y = ones([d1 d2

d3…]) %生成d1×d2×d3×…全1阵或数组

Y =

ones(size(A)) %生成与矩阵A相同大小的全1阵

重点掌握:

生成m阶单位方阵:eye(m)

生成m×n阶单位矩阵:eye(m,n)

生成m阶全1方阵:ones(m)

生成m×n阶全1矩阵:ones(m,n)

生成m阶全0方阵:zeros(m)

生成m×n阶全0矩阵:zeros(m,n)

>> clear

>>

E=eye(2,3) %生成2行3列的单位方阵

E =

1 0 0

0 1 0

>>

B=ones(2,3) %生成2行3列的全1矩阵

B =

1 1 1

1 1 1

1.4向量、矩阵的访问与赋值

更改、增加或删除向量的元素。 例如:

>> clear

>> x=[3 7 4

5] %输出4维行向量x

x =

3 7 4 5

>> x(3) =

2 %更改第三个元素

x =

3 7 2 5

注:x(i)表示向量x的第i个分量。

>> x(6) =

10 %加入第六个元素(给第六个元素赋值)

x =

3 7 2 5 0 10

>> x(4) = [

] %删除第四个元素

x =

3 7 2 0 10

注:在对第六个元素进行赋值时,若未曾对第五个元素赋值,则默认为零。上述运算,结果均返回为变量x。

MATLAB亦可取出向量的一个元素或一部份来做运算。 例如:

>> clear

>> x=[1 2 3 4];y=[2 4 6 8 0];

>>

x(2)*3+y(4) %取出x的第二个元素和y的第四个元素来做运算

ans =

14

>>

y(2:4)-1 %取出y的第二至第四个元素来做运算

ans =

3 5 7

在上例中,2:4代表一个由2、3、4组成的向量,同样的方法可用于产生公差为1的等差数列,例如:

>> z = 7:16

z =

7 8 9 10 11 12 13 14 15 16

若不希望公差为1,则可将所需公差直接至于4与13之间,例如:

>> w =

7:3:16 %公差为3的等差数列

w =

7 10 13 16

同样地,我们可以对矩阵进行各种处理。 例如:

>> clear

>> A=sym([1 2 3 4;5 6 7 8;9 10 11

12]) %输出一个3行4列的矩阵

A =

[ 1, 2, 3, 4]

[ 5, 6, 7, 8]

[ 9,

10, 11, 12]

>> A(2,3) =

5 %改变第二列,第三行的元素值

A =

[ 1, 2, 3, 4]

[ 5, 6, 5, 8]

[ 9, 10, 11, 12]

注:A(i,j)表示矩阵A的(I,j)元,括号中,逗号前面表示行,后面表示列

>>

A(2,:) %第2行的所有元素

ans =

[ 5, 6, 5, 8]

>> B =

A(2,1:3) %取出部份矩阵B

B =

[ 5, 6, 5]

>> A = [A

B'] %将B转置后以列向量并入A

A =

[ 1, 2, 3, 4, 5]

[ 5, 6, 5, 8, 6]

[ 9, 10, 11,

12, 5]

注:矩阵合并,若按照行的形式合并,则用;隔开;若按列的形式合并,则用空格或逗号隔开,例如:

>> A(:, 2) = [

] %删除第二列(:代表所有行)

A =

[ 1, 3, 4, 5]

[ 5, 5, 8, 6]

[ 9, 11,

12, 5]

>>

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值