阅读量:4
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