MATLAB学习笔记
变量与数据的储存
MATLAB中存在许多array(变数),其中numeric (数值变数)与logical(逻辑变数)上节提到,而存在于的numercia中的函数有许多类似于double(),single(),int32()等function方法除此之外仍存在的array
1character(chat)字符:一个character代表着从0到225储存的ascll编码,当多个char链接是变成为了string(字符串),字符串之间的链接可以使用[]发放来进行,但用此种方法进行纵向链接时,字符串长度必须相同字符串中下标由1开始,我们尝试用index进行逻辑运算
str = 'aardvark'
a == str
ans =11000100
str (str =='a') ='Z'
and = 'ZZrdvZrk'
当然如果我们需要比较整个字符串可以使用strcmp()方法进行析差
tf = strcmp(s1,s2)
tf = 1
或者reverse()函数对字符串进行倒写2structure(结构),结构单元中变数可以容忍许多field,每个field中可以储存数据,结构可以再同一名称下拥有许多,用index来区别,下列函数常用于field操作
1cell2struct 将cell转换成structure
2fieldnames 抓取structure中field的命名3getfield 获取structure中field
4isfield 判断输入是否为structure中field
5isstruct 判断输入是否为structure
6orderstruct 命令一个structure
7rmfield 移除structure中一个field
8setfield 在structure中创建一个新的field
9struct 创建一个structure
10struct2cell 将structure转换成cell
11structfun 将函数应用于structure中每一个filed
Nesting structure的存在允许我们将结构嵌套,宣告一个人structure之后,structure中某一filed中的Arry可以为structure,并以此继承下去3cell Arry(细胞数组),cell相当于一个多为矩阵,但是每一个象限所允许我们记录的数据类型可以是不用的,有两种写入方式
A(1,1)={statement1}
A(1,2)={statement2}
A{1,1}=statement1
A{1,2}=statement2
cell arry中每个象限都相当于指标,这种方式让我们可以允许不用类型数据存储在一起
cell中数据读取有两种方式,用(),{}方法读取但是如果存储的数据为一个矩阵,利用()只可以读出矩阵的大小,{}方式可以独处矩阵的内容
关于cell的一些函数方式
1cell 创建一个细胞单元
2cell2mat 将细胞单元转换成矩阵
3cell2struct 将细胞单元转换成结构
4celldisp 抓取细胞单元中所拥有的数据
5cellfun 将函数方法应用于每一个细胞单元
6cellplot 现实该数据在细胞单元中的为主
7cellstr 从一个字符串类型将其变换为细胞单元中的一个空置位
8mat2cell 将矩阵转换为细胞单元
9num2cell 转换为具有一致大小的单元列阵关于矩阵转换为单元时num2cell 让每一个矩阵中的数据可以作为一个独立的单元想想mat2cell稍稍复杂一些举一个例子
a = magic(3)
b = num2cell(a)
c = mat2cell(a,[1 1 1],3)
第三条代码的含义是将矩阵行不分开,分成三列cell允许多维度的数据储存其搭建方式以二维类推得到矩阵可以用cat()方法来进行拼装,1表示由行拼接,2表示由列拼接,3表示由高维拼接Reshape方法可以改变矩阵的形状
4文件的储存
如何将work space 储存在file里面
A load 和 save 方法
clear;a=magic;
Save mydata1.mat
save mydata2.mat
load('mydata1.mat')
load('mydata2.mat')
B xlsx方法
score=xlsread('04score.xlsx')
score=xlsread('04score.xlsx','B2,D4')[score,name]=clsread('04score.xlsx')
M=mean(score)xlswrite('04score.xlsx',M,1,'E2,E4')
xlswrite ('04score.xlsx',{'mean'},1,'E1')
1表示存储的sheet的位置
C低级的读写方式