继基本操作后,就是对数据的操作了。如下
>> A = [1 2;3 4;5 6]
A =
1 2
3 4
5 6
# size可以计算矩阵的规模,其返回值也是一个矩阵 [行大小 列大小]
>> size(A)
ans =
3 2
>> size(size(A))
ans =
1 2
# sized的第二个参数代表维度
>> size(A,1)
ans = 3
>> size(A,2)
ans = 2
>> size(A,3)
ans = 1
>> size(A,4)
ans = 1
>> v = [1 2 3 4]
v =
1 2 3 4
# length返回矩阵的最大维度的大小
# 一般length都是对向量使用的,不对矩阵使用
>> length(v)
ans = 4
>> length(A)
ans = 3
# load命令可以加载文件
>> load featuresX.dat #等效于 load('features.dat')
>> load priceY.dat
# 查询变量
>> who
Variables in the current scope:
A ans featuresX priceY v
>> whos
Variables in the current scope:
Attr Name Size Bytes Class
==== ==== ==== ===== =====
A 3x2 48 double
ans 1x1 8 double
featuresX 10x2 160 double
priceY 10x1 80 double
v 1x4 32 double
Total is 41 elements using 328 bytes
# clear 用于从内存中清除变量
>> clear v
# 将priceY中的前五个数据存储在变量v中
>> v = priceY(1:5)
v =
3999
3299
3690
2320
5399
# 将变量v中的内容存储为文件 默认是二进制
>> save hello.mat v;
>> clear
>> load hello.mat
>> v
v =
3999
3299
3690
2320
5399
# 将变量v以ascii码的形式存储到hello.txt中
>> save hello.txt v -ascii
>> clear
>> load hello.txt
# 注意和默认方法加载后读取的不同
>> v
error: 'v' undefined near line 1 column 1
>> hello
hello =
3999
3299
3690
2320
5399
# 索引
>> A =[1 2;3 4;5 6]
A =
1 2
3 4
5 6
>> A(3,2)
ans = 6
# 注意 冒号代表该行/列所有元素
>> A(2,:)
ans =
3 4
>> A(:,2)
ans =
2
4
6
# 每个索引都可以写成数组形式,从而获取多个值
>> A([1 3],:)
ans =
1 2
5 6
# 可以借助索引操作进行赋值
>> A(:,2)=[10;11;12]
A =
1 10
3 11
5 12
>> A = [A,[14;15;16]]
A =
1 10 14
3 11 15
5 12 16
# 将A中所有元素放入一个单独的列向量中
>> A(:)
ans =
1
3
5
10
11
12
14
15
16
>> A = [1 2;3 4];
>> B = [5 6;7 8];
>> C = [A B]
C =
1 2 5 6
3 4 7 8
>> C = [A;B]
C =
1 2
3 4
5 6
7 8
网友评论