gpt4 book ai didi

string - 在 MATLAB 中将元胞数组转换为字符串

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:19 24 4
gpt4 key购买 nike

我在字符串中做了一些操作。我在 X 中有一个字符串“AGCT”。我使用以下命令将它保存在一个单元格中

y(1,1)={x};

现在它存储在一个单元格中。现在我想分别从字符串中取出每个字母。我想先取 A,再取 G,依此类推。这种情况下需要进行元胞数组转换。那么如何将元胞内容重新转换回字符串呢??

最佳答案

您可以使用大括号 ({}) 从单元格中获取字符串:

x='AGCT';
y(1) = {x};
y{1}
ans =

AGCT

您还可以将索引运算符串在一起,直接从元胞数组中获取单个字符。例如:

y{1}(2)
ans =

G

另请记住,char 函数可以通过垂直连接字符串并根据需要用空格填充,将字符串元胞数组转换为二维字符数组:

S = char(C), when C is a cell array of strings, places each element of C into the rows of the character array S. Use CELLSTR to convert back.

通过这种方式,您可以仅使用 char(y) 将整个元胞数组转换为二维字符数组,但我认为您正在寻找一种方法来直接从元胞数组如上。

说到元胞数组转换,请查看 cellfun,它可用于对每个元胞执行相同的操作。例如,如果您有一个像 y = {'AGCT','CTGA'}; 这样的单元格并且您想要每个单元格的第二个字符(一个包含 GT),您可能想执行 y{:}(2),但这不起作用(第一个索引必须是标量)。一个解决方案是:

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

关于string - 在 MATLAB 中将元胞数组转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20463896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com