文章目录
matlab中的几种变量形式
变数形式 | 含义 | 举例 |
---|---|---|
numeric | 数值变量 | single,double,int,uint |
logical | 逻辑变量 | if(a==b ) |
char | 字符变量 | ‘a’ |
cell | 元胞数组 | / |
struct | 结构体 | / |
数值变数的形式转换
看起来是变数形态,其实是函数名称。
变数形式 | 含义 |
---|---|
double() | Convert to double precision |
single() | Convert to single precision |
int8() | Convert to 8-bit signed integer |
int16() | Convert to 16-bit signed integer |
in32() | Convert to 32-bit signed integer |
int64() | Convert to 64-bit signed integer |
uint8() | Convert to 8-bit unsigned integer |
uint16() | Convert to 16-bit unsigned integer |
uin32() | Convert to 32-bit unsigned integer |
uint64() | Convert to 64-bit unsigned integer |
Character&String
- 字符是使用0-255的数字编码结合ASCII来表示的。
- 单个字符或字符串,创建时要放到单引号对中。
>> s1='h';
>> whos
Name Size Bytes Class Attributes
s1 1x1 2 char
>> uint16(s1)
ans =
104
- 字符串就是一系列字符的组合,字符串之间可以组合。
>> s1='Example';
>> s2='String';
>> s3=[s1 s2];
>> s4=[s1;s1];
>> s3
s3 =
ExampleString
>> s4
s4 =
Example
Example
串联矩阵的维度必须保持一致。
str(数值)代表字符串中的第几个字符。
注意:区别于C,这里是从1开始数的。
>> str='aardvark';
>> str(3)
ans =
r
- 字符串中的第几个字符是a,最终输出结果为一个数列,1代表是,0代表不是。
>> str='aardvark';
>> 'a'==str
ans =
1 1 0 0 0 1 0 0
- 把字符串中所有的a变成Z。
>> str='aardvark';
>> str(str=='a')='Z'
str =
ZZrdvZrk
strcmp
库函数:比较两个字符串是否相同。
>> str='aardvark';
>> strcmp(str,'aardvark')
ans =
1
- Exercise
把字符串完全倒过来。
- 根据字符的位置,进行替换。
>> s1='I like the letter E';
>> s2=s1(length(s1):-1:1)
s2 =
E rettel eht ekil I
length(s1)
可以替换为end
。
- 直接使用
fliplr
函数:使矩阵X沿垂直轴左右翻转。
>> s1='I like the letter E';
>> s2=fliplr(s1)
s2 =
E rettel eht ekil
Structure结构体
结构体用来储存异构数据,包含数组和字段。
>> student.name='John Doe';
>> student.id='jdo2@sfu.ca';
>> student.number=301073268;
>> student.grade=[100,75,73;95,91,85.5;100,98,72];
>> student
student =
name: 'John Doe'
id: 'jdo2@sfu.ca'
number: 301073268
grade: [3x3 double]
>> student.grade
ans =
100.0000 75.0000 73.0000
95.0000 91.0000 85.5000
100.0000 98.0000 72.0000
在结构名后添加标号来继续扩充数据。
>> student(2).name='Ann Lane';
>> student(2).id='aln4@sfu.ca';
>> student(2).number=301078853;
>> student(2).grade=[95,100,90;95 82 97;100,85 100];
<