一、变量
1.类型
![](https://img-blog.csdnimg.cn/img_convert/5377d4024cc246a086d0f7b8503eb300.png)
1)字符
x = 'h'用单引号括起来一个字符,即为 char 类型
2)字符串
实质字符数组,可用矩阵操作
![](https://img-blog.csdnimg.cn/img_convert/0fd1f76e3a9549a3bd846b44fcc1a6d7.png)
[s1 s2] 直接将两个字符串相连;
[s1; s2] 要求长度一致
>> s1='hello';
>> s2='word';
>> s3=[s1 s2]
s3 =
helloword
>> s4=[s1;s1]
s4 =
hello
hello
逻辑运算符
>> str='aarddef';
>> 'a'==str
ans =
1 1 0 0 0 0 0
>> str(str== 'a')='z'
str =
zzrddef
2.转换
默认是double类型
![](https://img-blog.csdnimg.cn/img_convert/aa22d05915db439981d0c838bd457bc9.png)
>> a=20
a =
20
>> b=int8(a)
b =
20
3.struct
1)structure
![](https://img-blog.csdnimg.cn/img_convert/ed19b8060ae54e11be31d925599add8e.png)
![](https://img-blog.csdnimg.cn/img_convert/2f7d62f56fd04f9183b266466e1113be.png)
2)功能函数
![](https://img-blog.csdnimg.cn/img_convert/45b4de4334634fc990b1478794cf7d11.png)
3)嵌套结构
用struct声明
![](https://img-blog.csdnimg.cn/img_convert/518e5c1e0da24662829bf47012c8f3ab.png)
4.cell
使用{ }声明
存储异构数据的另一种方法
查看 array具体内容{ , } 如: A{1,1}
![](https://img-blog.csdnimg.cn/img_convert/e67d671f58fc410daef14dabfbc7e4ea.png)
>> a(1,1)={[1 4 3; 0 5 8; 7 2 9]};
>> a(1,2)={'anna'};
>> a(2,1)={3+7i};
>> a(2,2)={-pi:pi:pi};
>> a{2,2}
ans =
-3.1416 0 3.1416
>> a(2,2)
ans =
[1x3 double]
>> a{1,1}(2,2)
ans =
5
功能
![](https://img-blog.csdnimg.cn/img_convert/24b5e5b0677048ba8beb528dc1ed00ea.png)
cell2struct() 通过 cell 数组中包含的信息创建一个结构体,重点了解!
num2cell() 将数组转换为相同大小的 cell
mat2cell() 指定行、列划分数组为 cell
5.三维array
![](https://img-blog.csdnimg.cn/img_convert/b269fbe72ce44cbaa7a65ef47f54afe3.png)
1) 用 {} 加三个坐标声明:
例
![](https://img-blog.csdnimg.cn/img_convert/43478d47dccf4cacbfca99b7edc7ce0b.png)
2) 用cat()声明:
![](https://img-blog.csdnimg.cn/img_convert/2b24812d98ff4a008208d45acae8847f.png)
reshape()
![](https://img-blog.csdnimg.cn/img_convert/6e25742867cf40faa46605cc1b636113.png)
例:
![](https://img-blog.csdnimg.cn/img_convert/921509ca17d240e6a47743f1e0577438.png)
![](https://img-blog.csdnimg.cn/img_convert/dd7363b771f24e578d0448bed96073ff.png)
![](https://img-blog.csdnimg.cn/img_convert/5421d3a70037483f8d558a51c5dea85b.png)
注:可以看出 matlab 是 按列优先存储矩阵的
二、File Access文件存取
1.存取
save()与load()
![](https://img-blog.csdnimg.cn/img_convert/e2df8b724c484678875f0ade8e491264.png)
2.Excel文件
xlsread() 和 xlswrite
![](https://img-blog.csdnimg.cn/img_convert/591c593580d24da1989b88a67c79bf2f.png)
3.使用低级文件 I/O
通过低级文件 I/O 函数,可以最大程度地控制文件数据的读取和写入。但是,相对于更易于使用的高级函数,例如 importdata,这些低级函数要求指定更为详细的文件信息。
fclose feof ferror fgetl fgets fileread fopen fprintf fread frewind fscanf fseek ftell fwrite | 关闭一个或所有打开的文件 检测文件末尾 文件 I/O 错误信息 读取文件中的行,并删除换行符 读取文件中的行,并保留换行符 以文本格式读取文件内容 打开文件或获得有关打开文件的信息 将数据写入文本文件 读取二进制文件中的数据 将文件位置指示符移至所打开文件的开头 读取文本文件中的数据 移至文件中的指定位置 当前位置 将数据写入二进制文件 |
fopen:获得 file id
fileID = fopen(filename) 打开文件 filename 以便以二进制读取形式进行访问,并返回等于或 大于 3 的整数文件标识符。MATLAB保留文件标识符 0、1 和 2 分别用于标准输入、标准输出 (屏幕)和标准错误。如果 fopen 无法打开文件,则 fileID 为 -1。
fileID = fopen(filename,permission) 将打开由 permission 指定访问类型的文件。
![](https://img-blog.csdnimg.cn/img_convert/d88b78a8113742e5850bec5d5add1fff.png)
![](https://img-blog.csdnimg.cn/img_convert/abdb15302f6a4442be5290a449ffb1e6.png)
要以文本模式打开文件,请将字母 't' 附加到 permission 参数,例如 'rt' 或 'wt+'。
fprintf/fscanf
fscanf 函数要求对文件的格式进行描述
限定格式
![](https://img-blog.csdnimg.cn/img_convert/6a201d8bb79540ca8ac0dd49d284b06c.png)
例
![](https://img-blog.csdnimg.cn/img_convert/c11a430ba19144c1962caa3b36262f6e.png)
![](https://img-blog.csdnimg.cn/img_convert/342d6b7ec6e148aebe45febd2fdfc127.png)
feof
status = feof(fileID) 检查是否到达文件结尾,当文件指针位于文件末尾时,feof 返回值 1。否则,将返回 0。