matlab 脚本 语法 括号的用法
matlab中括号的用法
[]叫中括号,它用来 存储矩阵和向量 ,用来 表示数组
[ ] 中若干项用 空格或者逗号 隔开,可以表示一个行向量。
如果数组中有项是表达式,不能随意空格。比如12-3是一个元素,12 -3是两个
中括号[]表示数组时,分号‘;’用来隔开行。
中括号[]可以拼接数组
如下,我们有两个数组A和B.
[A,B]相当于水平拼接A和B,即horzcat(A,B)
[A;B]相当于垂直拼接A和B,即vertcat(A,B)
中括号[]可以进行连续/多层拼接
比如[C,[A;B]],A与B上下拼接,C与[A;B]左右拼接。连接字符串 a1='abcd123';b1='decf456'; c=[a1,b1]
中括号可以用来清空或删除元素
只有中括号[]表示一个空数组。
A(1,:)=[]表示删去A的第一行。
A(:,1)=[]表示删去A的第一列。
用来接收有多个返回值的函数。
[C,ia]=setdiff(......)接收两个返回值,存入列表C和列表ia
matlab大括号的用法
大括号,用于cell型的数组(单元数组)的分配或引用。
字符串元胞数组 转 字符数组
names = {'Sue','Cathy','Xavier'} ; % 这是一个字符串元胞数组
cnames = char(names) % 用char()函数就可以转化成字符数组
字符数组 转 元胞数组
greetmat = char('Hello','Goodbye'); % 这是字符数组
cellgreets = cellstr( greetmat ) % 用cellstr()函数就可以转化成元胞数组
元胞数组转为字符串数组
-
a={'abcd';'edf'}
- cell2mat(a')
cell是元胞数组,mat是matrix的缩写
元包数组内数据可以不同维度, 矩阵内必须同维度 。
矩阵也可以转元胞数组
matlab小括号的用法
用于引用数组的元素。
如 X(3)就是X的第三个元素。 X([1 2 3])就是X的头三个元素。
这里用[]建立一个非cell数组。a=[1 2 2],则a(1,2)就是访问的a数组的第一行第2列元素
比如我建立了一个单元数组:
a=cell(2,3)
a(1,2)=’china’;%这种写法是错的
a{1,2}=’china’%这种写法才对
因为大括号才代表单元数组(元胞数组)赋值,小括号只能是普通数组中的元素
A(:,3);
在矩阵或向量中,则表示的是取一整行或一整列。可以取行、取列,也可取整个矩阵。在矩阵或向量中,则表示的是取一整行或一整列。
元胞数组的创建
创建方法有3种:直接赋值法、利用函数cell()、利用{ }直接创建元胞数组的所有单元
直接赋值法
通过赋值语句把值赋到元胞数组的一个单元中,但每一次赋值只能创建一个单元内容。
两种赋值方法:内容索引法(content indexing)和单元索引法(cell indexing)
利用函数cell() 可以创建一个元胞数组
还可以规定其大小
利用{ }可以直接快速地创建所需元胞数组
在大括号中一次列出所需创建元胞数组的内容,它们之间用逗号(,或者空格 )隔开,行与行之间用分号(;)隔开,这样就可以创建一个已经初始化好的元胞数组
元胞数组的寻访
在编程时,一个元胞数组的每一个单元都是一个 指针 ,指向其他的数据结构,而这些数据结构可以是不同的数据类型。在MATLAB中,元胞数组创建时,没有显示内容单元的内容,显示的只是它相应的数据类型。而MATLAB可以通过单元的名称来寻访其单元包含的内容。
通过()访问cell数组时访问到的是cell单元,通过{}访问cell数组时访问到的是cell单元储存的内容 。
在MATLAB中,元胞数组的寻访有以下三种形式。
- (1)用( )将下标括起来寻访其 单元的结构类型 。
- (2)用{ }将下标括起来寻访其 单元的内容 。
- (3)用celldisp( )函数对元胞数组的所有内容进行寻访
元胞数组删除操作区别就在于{}和()
- A{1}=[]; %并不能删除第一个cell单元,只是变成空值
- A(1)=[]; %删除第一个单元
- A(:)=[]; %一次性删除所有cell单元
celldisp:显示元胞数组中所有的内容
cell:创建空的元胞数组
cellplot:利用图形方式显示内容
cell2mat:将数组转变成为普通的矩阵
mat2cell:将数值矩阵转变成为cell数组
num2cell:将数值数组转变成为cell数组
cell2struct:将数组转变成为结构
struct2cell:将结构转变为cell数组
iscell:判断输入是否为cell数组
艳阳高照:matlab 语法积累-模型
艳阳高照:matlab 语法积累-元胞 数组
艳阳高照:matlab 语法积累-注册自定义项
艳阳高照:matlab 语法积累-读取模块参数-元胞数组