matlab 脚本 语法 括号的用法

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()函数就可以转化成元胞数组

元胞数组转为字符串数组

  1. a={'abcd';'edf'}
  2. 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 语法积累-读取模块参数-元胞数组

艳阳高照:matlab 语法积累-m文件这个编程语言

艳阳高照:matlab 语法积累-mat文件

艳阳高照:matlab 语法积累-注册自定义项

编辑于 2022-12-07 18:42 ・IP 属地陕西

文章被以下专栏收录