Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String MATLAB中单元数组的字符串转换_String_Matlab_Cell Array - Fatal编程技术网

String MATLAB中单元数组的字符串转换

String MATLAB中单元数组的字符串转换,string,matlab,cell-array,String,Matlab,Cell Array,我在字符串中执行一些操作。我在X中有一个字符串“AGCT”。我使用以下命令将其保存在单元格中 y(1,1)={x}; 现在它存储在一个单元格中。现在我想分别从字符串中提取每个字母。我想先从G中提取一个字母,依此类推。在这种情况下,单元格数组转换是必要的。因此,如何再次将单元格内容转换回字符串???您可以使用大括号({})从单元格中获取字符串: 您可以将索引运算符串在一起,直接从单元格数组中获取单个字符。例如: y{1}(2) ans = G 还要记住,char函数可以通过垂直连接字符串,

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

y(1,1)={x};

现在它存储在一个单元格中。现在我想分别从字符串中提取每个字母。我想先从G中提取一个字母,依此类推。在这种情况下,单元格数组转换是必要的。因此,如何再次将单元格内容转换回字符串???

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

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

y{1}(2)
ans =

G

还要记住,
char
函数可以通过垂直连接字符串,同时根据需要填充空格,将字符串的单元格数组转换为二维字符数组:

S=char(C)
C
是字符串的单元格数组时,将
C
的每个元素放入字符数组
S
的行中。使用
CELLSTR
进行转换

通过这种方式,您可以将整个单元格数组转换为仅包含
char(y)
的二维字符数组,但我认为您正在寻找一种方法,直接从单元格数组中为单个字符建立索引,如上所述

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

>> iBase = 2;
>> basei = cellfun(@(c)c(iBase),y)
basei =
GT
我称之为“访问存储在单元格中的内容”,而不是“将单元格转换为其他内容”。相关问题:
>> iBase = 2;
>> basei = cellfun(@(c)c(iBase),y)
basei =
GT