convertContainedStringsToChars

转换的字符串数组在单元阵列或结构的任何水平

描述

若要使代码接受包含字符串作为输入参数的单元格数组和结构,请添加一个调用convertContainedStringsToChars你的代码的开头。然后,你不必做,你已写入工作与电池阵列或含有字符数组结构的任何其他更改代码。

B = convertContainedStringsToChars (一个在任何级别转换字符串数组一个

  • 如果一个是一个字符串数组,然后是字符向量或特征向量的单元阵列。

  • 如果一个在的任何细胞或字段的单元阵列或结构,那么字符串数组一个成为字符向量或特征向量的单元阵列。所有其他细胞或领域一个在不变

  • 否则,函数返回一个不变。

[B1,...,BN] = convertContainedStringsToChars(A1,...,An)的转换的输入参数A1,...,一。对于每一个输入参数,必须有在相应的输出参数B1,...,BN

例子

全部收缩

创建一个包含访问发布日期,飞船的名字,和行星单元阵列。有些细胞中含有的字符串数组,和别人不一样。

C = {2004,“信使”“汞”;...1977年,“旅行者1号”,(“木星”“土星”]。...2006年,“新视野”“冥王星”}
C =3×3单元阵列{[2004]} {[ “信使”]} {[ “水星”]} {[1977]} {[ “旅行者1号”]} {1x2的字符串} {[2006]} {[ “新地平线”]} {[ “冥王星”]}

转换的字符串C到特征向量。

C = convertContainedStringsToChars (C)
C =3×3单元阵列{[2004]}{“信使”}{“水星”}{[1977]}{“旅行者1号”}{1 x2细胞}{[2006]}{“新视野号”}{“冥王星”}

注意,该函数转换字符串数组(“木星”、“土星”)到字符向量的单元阵列,包含在细胞C(2,3)。要访问单元格的内容,使用大括号索引。

C {2,3}
ANS =1x2的细胞{ '木星'} { '土星'}

创建包含数据,标题,和标签的阵列为一曲线图的结构。一些字段包含字符串,和别人不一样。

S.x = linspace(0,2 * PI);S.y = SIN(S.x);S.title =“Y =的sin(x)”;S.axislabels = [“x”(弧度)“Y”]
S =同场的结构:X:[1×100双] Y:[1×100双]标题: “Y =的sin(x)” axislabels:[ “×(弧度)” 的 “y”]

转换的字符串小号

S = convertContainedStringsToChars(S)
S =同场的结构:X:[1×100双] Y:[1×100双]标题: 'Y =的sin(x)' axislabels:{ '×(弧度)' 'Y'}

处理不同类型的输入数组的任意数量。

创建双精度数组、结构和单元格数组。结构数组和单元格数组包含使用双引号指定的字符串。

x = linspace(0, 2π,8);年代。y = sin (x);S.title =“Y =的sin(x)”;C = {{的sin(x),“Y =的sin(x)”},{COS(X),“Y = COS(X)”}};

转换的字符串,并返回所有其他数据不变。

[x, S、C] = convertContainedStringsToChars (x,年代,C)
X =1×80 0.8976 1.7952 2.6928 3.5904 4.4880 5.3856 6.2832
S =同场的结构:Y:[0 0.7818 0.9749 0.4339 -0.4339 -0.9749 -0.7818 -2.4493e-16]标题: 'Y =的sin(x)'
C =1×2单元阵列{1×2细胞} {1×2细胞}

显示包含在所述第一小区中的单元阵列的内容,C(1)。该函数将嵌套单元格或嵌套结构中的字符串转换为字符向量。注意,字符向量以单引号显示。

13 C {1}
ANS =1×2单元阵列{1×8双} { 'Y =的sin(x)'}

输入参数

全部收缩

输入数组,指定为任意大小或数据类型的数组。

如果一个是细胞阵列或结构,那么它可以是嵌套的。细胞可包含另一个单元阵列和结构可以有一个字段,该字段是另一种结构。convertContainedStringsToChars转换为字符串到字符向量的对应的字符载体或细胞阵列的每个元素或字段值。的函数转换使用规则由定义的每个元素或字段值convertStringsToChars功能,遍历嵌套容器的每一个级别和组合。

介绍了在R2018b