matlap基础知识2

矩阵的生成可以有下面几种方法。
(1) 直接输入矩阵元素法
对于较小简单的矩阵,可以从键盘上直接输入一系列元素生成矩阵。矩阵的每一行要用空格或逗号隔开;矩阵行的结束标志符为分号或回车键。例如:

A=[1 2 3 4; 5 6 7 8; 9 8 7 6; 5 4 3 2]
运行结果
A=
1 2 3 4
5 6 7 8
9 8 7 6
5 4 3 2
(2) 把外部数据调入矩阵法
用户能够通过load命令,将外部的数据文件中的内容调入到工作空间中创建矩阵,外部文件的扩展名为“.dat”。例如:
在MATLAB外,利用编辑器创建一个数据文件xxx.dat,包含下列数据
2 4 6 8
5 3 7 9
1 3 3 8
5 4 3 1

load xxx.dat
xxx
运行结果
2 4 6 8
5 3 7 9
1 3 3 8
5 4 3 1
(3) M文件创建矩阵法
例如,先在编辑/调试器窗口中创建文件,如图1-1所示。

图1-1 在编辑、调试器窗口中创建数据文件
把它保存为tmp.m文件。然后在MATLAB命令窗口中调用即可。

tmp
A=
12 34 47 89 13
34 56 67 42 45
25 17 45 23 12
53 53 86 45 87
(4) MATLAB函数法
首先,MATLAB为用户提供了能够产生基本矩阵的几个重要函数。
·zeros:生成全0矩阵;
·ones:生成全1矩阵;
·eye:生成单位矩阵;
·rand:生成均匀分布的随机矩阵;
·randn:生成正态分布的随机矩阵。
例如:

A=zeros(4, 3)
B=ones(3, 2)
C=eye(2)
D=rand(3)
E=randn(3, 4)
运行结果
A=
0 0 0
0 0 0
0 0 0
0 0 0
B=
1 1
1 1
1 1
C =
1 0
0 1
D =
0.2028 0.2722
0.1987 0.1988
0.6038 0.0153
E =
0.4326 0.2877 1.892 0.1746
1.6656 1.1465 0.0376 0.1867
0.1253 1.1909 0.3273 0.7258
其次,MATLAB还为用户提供了一些产生特殊矩阵的重要函数,见表1-1。这些函数可以参看联机帮助信息。
表 1-1 MATLAB中产生特殊矩阵的函数表
函数 功能 函数 功能
Company 伴随矩阵 Magic 魔方矩阵
Gallery Higham 检验矩阵 Pascal Pascal 矩阵
Hadamard Hadamard 矩阵 Rosser 经典对称特征值检验矩阵
Hankel Hankel 矩阵 Toeplitz Toeplitz 矩阵
Hilb Hi1ber 矩阵 Vander Vander 矩阵
invhib 逆Hilbert 矩阵 Wilkinson Wilkinson 特征值检验矩阵
运算符
MAATLAB语言中的运算符包括算术运算符、关系运算符、逻辑运算符和操作符4种。
(1) 在MATLAB语言中的,算术运算既可以使用算术运算符,也可以便用等效的算术运算函数,如表1-2所示。
表 1-2 算术运算符和等效的算术运算函数
功能 算术运算符 等效的算术运算函数
算术加 A+B plus(A, B)
算术减 A-B minus(A, B)
算术乘 A*B mtimes(A, B)
点乘 A.*B times(A, B)
矩阵左除 A\B mldivide(A, B)
点左除 A.\B ldivide(A, B)
矩阵右除 A/B mrdivide(A, B)
点右除 A./B rdivide(A, B)
矩阵乘方 A^B mpower(A, B)
点乘方 A.^B power(A, B)
数组常用的算术运算格式
功能 算术运算符 等效的算术运算函数
数组加 A+B plus(A, B)
数组减 A-B minus(A, B)
数组乘 A.*B times(A, B)
数组左除 A.\B ldivide(A, B)
数组右除 A./B rdivide(A, B)
数组乘方(求幂) A.^B power(A, B)

矩阵常用的算术运算格式
功能 算术运算符 等效的算术运算函数
算术加 A+B plus(A, B)
算术减 A-B minus(A, B)
算术乘 A*B mtimes(A, B)
矩阵左除 A\B mldivide(A, B)
矩阵右除 A/B mrdivide(A, B)
矩阵乘方 A^B mpower(A, B)

./ Array right division. A./B is the matrix with elements A(i,j)/B(i,j). A and B must have the same size, unless one of them is a scalar.
.\ Array left division. A.\B is the matrix with elements B(i,j)/A(i,j). A and B must have the same size, unless one of them is a scalar.
注意:运算A.*B、运算A.^B、运算A.\B和运算A./B,都是矩阵和矩阵对应元素之间的运算。除非其中一个为标量,否则A和B必须具有相同的大小。
例如:

a=[2, 4,6,10];
b=[1,2,3,5];
a.\b
a./b

A= [3 6 9 5;2 4 8 3;1 2 3 7;5 1 4 8];
B= [1 2 3 2;2 4 1 5;1 4 7 2;7 4 2 9];
A.B
ans =
3 12 27 10
4 16 8 15
1 8 21 14
35 4 8 72
与 >> A
B 、C=mtimes(A, B)作一比较。

A./B
ans =
3.0000 3.0000 3.0000 2.5000
1.0000 1.0000 8.0000 0.6000
1.0000 0.5000 0.4286 3.5000
0.7143 0.2500 2.0000 0.8889
与 >> A/B 、C=mrdivide(A, B)作一比较。

A.\B
ans =
0.3333 0.3333 0.3333 0.4000
1.0000 1.0000 0.1250 1.6667
1.0000 2.0000 2.3333 0.2857
1.4000 4.0000 0.5000 1.1250

与 >> A\B 、C= mldivide (A, B)、A的逆乘B作一比较。

A.^B
ans =
3 36 729 25
4 256 8 243
1 16 2187 49
78125 1 16 134217728

(2) MATLAB 语言中 的关系运算符如表 1-3 所示。
表 1-3 关系运算符
功能 关系运算符
等于 = =
不等于 ~ =
大于 >
大于等于 >=
小于 <
小于等于 <=
(3) MATLAB语言中的逻辑运算符如表1-4所示。
表1-4逻辑运算符
功能 逻辑运算符
逻辑与 &
逻辑或 ︱
逻辑非 ~
逻辑异或 xor
当向量中存在非零元素时为真 any
当向量中所有元素非零时为真 all

(4) MATLAB语言中还提供了一些操作符,极其方便了用户的操作。这些操作符的具体意义见表1-5。
表 1-5 操作符
功 能 操作符 功 能 操作符
多种功能 : 字符串标识符 ‘
分隔行 ; 调用操作系统运算 !
续行符 … 构成单元数组 {}
用于注释 % 小数点及域访问符 .
定义矩阵 [ ] 改变运算优先权 ( )
赋值 = 分隔列及函数参数分隔符 ,

下面着重阐述MAATLAB中冒号(:)的重要作用。
· 用来输入行向量

x=1:7 %不指定增加量时,MATLAB的默认增加量为1:
x= 1 2 3 4 5 6 7
y= 0:5:40 %用户自定义增加量
0 5 10 15 20 25 30 35 40;
· 取出矩阵中所指定的部分

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

A(1: 3, 😃 %取出矩阵A的前3行
ans=
l 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8

A(:, 4: 6) %取出矩阵A的后3列
ans=
4 5 6
0 1 2
6 7 8
5 4 3
0 2 1

A(1: 2: 5, 4: 6) %取出矩阵A的第1、3、5行中第4、5、6列的元素
ans=
2 3 4
4 5 6
4 6 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值