在字符串中转换数组单元格 MATLAB

我做了一些操作 Strings.I have a string 'AGCT' in X.I saved it in a cell using the following command


y/1,1/={x};


现在它存储在同一个单元格中。 现在我想分开地从行中取出每个字母。 我想参加第一个字母 " G。 " 等等。 在这种情况下,必须转换细胞阵列。 那么如何将小区内容转换回字符串?
已邀请:

龙天

赞同来自:

您可以使用Crly括号从单元格中获取一行。 /
{}

/:


x='AGCT';
y/1/ = {x};
y{1}
ans =

AGCT


您可以将索引运算符联系在一起,直接从单元数组获取单独的字符。 例如:


y{1}/2/
ans =

G


还要记住这个功能
char

可以将一系列线条传送到一个字符数组中 2D 通过垂直连接行与必要时的空格填充:


S = char/C/

, 什么时候
C

它是一系列线条单元格,每个元素位置
C

在字符数组中
S

. 使用
CELLSTR

用于反转变换。

因此 , 您可以将整个单元格数组转换为字符数组 2D 只有帮助
char/y/

, 但是,如上所述,我认为您正在寻找一种直接从单元阵列索引各个字符的方法。

并谈谈转换阵列单元格,看看
cellfun

, 可用于在每个单元上执行相同的操作。 例如,如果您有一个类型的单元格
y = {'AGCT','CTGA'};

你需要每个细胞的第二个字符 /数组字符 , 包含
GT

/, 你可能有一个诱惑
y{:}/2/

, 但它不起作用 /第一个索引必须是 scalar/. 解决方案是:


>> iBase = 2;
>> basei = cellfun/@/c/c/iBase/,y/
basei =
GT

要回复问题请先登录注册