Matlab学习笔记01 - 基本数据类型
1、数据类型转换
- 十进制转十六进制字符串‘FF’
>> hex2dec('3ff')
ans =
1023
- 十进制转十六进制字符串
>> dec2hex(30)
ans =
'1E'
- -转换单精度或双精度值为 IEEE 标准的十六进制数 num2hex
num2hex(-1)
ans =
'bff0000000000000'
- 数据类型强制转换 cast
cast(123,'char')
ans =
'{'
2、矩阵
2.1 访问单个矩阵元素
- 一行一列
>> Array1=[1 2 3 4]
Array1 =
1 2 3 4
- 四行三列
>> Array2=[1 2 3;4 5 6;7 8 9;10 11 12]
Array2 =
1 2 3
4 5 6
7 8 9
10 11 12
% 数组是按列储存的
>> Array2(2)
ans =
4
% 第四行第一列元素
>> Array2(4,1)
ans =
10
2.2 访问多个矩阵元素
>> Array1(1:3)
ans =
1 2 3
% 访问第三行
>> Array2(3,:)
ans =
7 8 9
>> Array2(:,3)
ans =
3
6
9
12
2.3 矩阵转置
>> Array1'
ans =
1
2
3
4
3、字符与字符串
- 数字转换为字符(字符为数值对应的 Unicode 值)或者单元数组转换为字符数组 char
>> char([109 97 116 108 97 98])
ans =
'matlab'
>> char({'1','2','3'})
ans =
3×1 char 数组
'1'
'2'
'3'
- 得到str的ASCII 值数组 abs(str)
>> str='ABC'
str =
'ABC'
>> abs(str)
ans =
65 66 67
% 得到字符串长度
>> length(str)
ans =
3
- 数字转字符串
>> num2str(123)
ans =
'123'
- 字符串转数字
>> str2num('123')
ans =
123
- 拼接字符串
>> strcat('123', 32,'321')
ans =
'123 321'
- 拆分字符串
>> strsplit('AB CD EF')
ans =
1×3 cell 数组
{'AB'} {'CD'} {'EF'}
4、数值与字符串
- 整数转为字符串 int2str
>> int2str([2.5 3.1])
ans =
'3 3'
- 数值转为字符串 num2str
>> num2str(3.14)
ans =
'3.14'
- 矩阵转为字符串 mat2str
>> mat2str([2 5; 3 1])
ans =
'[2 5;3 1]'
5、元胞数组
- 定义一个 1 行5 列的元胞数组
>> A{1}='123';
A{2}='ABC';
A{3}=eye(3)
A{4}=5;
A =
1×5 cell 数组
{'123'} {'ABC'} {3×3 double} {[5]} {0×0 double}
% 访问指定的某个cell 数组,A{1}访问的是cell 数组里的具体数据
>> A(1)
ans =
1×1 cell 数组
{'123'}
% 将第一个元胞清零
>> A(1) = []
A =
1×4 cell 数组
{'ABC'} {3×3 double} {[5]} {0×0 double}
% 获取元胞个数
>> A{1}='123';
A{2}='ABC';
A{3}=eye(3)
A{4}=5;
A =
1×4 cell 数组
{'123'} {'ABC'} {3×3 double} {0×0 double}
>> length(A)
ans =
4
% 获取’123’字符个数
>> length(A{1})
ans =
3