Matlab 如何读取由数值和文本值组成的单元格中的特定字符?
我想从包含数字和文本的单元格中读取(在matlab中)特定字符。如何在matlab中实现这一点?谁能帮我查一下密码吗 以下是一个例子:Matlab 如何读取由数值和文本值组成的单元格中的特定字符?,matlab,Matlab,我想从包含数字和文本的单元格中读取(在matlab中)特定字符。如何在matlab中实现这一点?谁能帮我查一下密码吗 以下是一个例子: r1200i000-0ln140010.LID 这表示单元格中的文件名。我在一列中有100000多行。我想读取第14和第15个字符(这里是14),并将该值写入同一行的不同列。如果您将字符串(单元格的内容)视为一个字符数组,则可以使用(n:m)约定索引各个成员,即 >> string = 'a string'; >> part = str
r1200i000-0ln140010.LID
这表示单元格中的文件名。我在一列中有100000多行。我想读取第14和第15个字符(这里是14),并将该值写入同一行的不同列。如果您将字符串(单元格的内容)视为一个字符数组,则可以使用(n:m)约定索引各个成员,即
>> string = 'a string';
>> part = string(3:4)
st
请记住,输出也将是一个字符串。如果你想把它用作一个数字,你可以使用。我使用了以下代码:v={xlsread('testdata.xlsx','A2:A165238');out=cellfun(@(x)str2num(x(14:15)),v,'un',0);matlab仍然显示错误:???索引超过了矩阵维度。==>@(x)str2num(x(14:15))中的错误实际上是的,我上面的回答不足以处理您的案例-您需要为每个单元格中的所有单元格的数据元素编制索引。可以同时使用大括号和括号,例如v{1,1}(14:15)给出单元格{1,1}中字符串的第14到第15个字符-有关详细信息,请参阅。可能只需要做v{1,:}(14:15)就可以了,但我现在还没有Matlab,所以我必须稍后检查。不过还是玩一玩吧。我已经改变了上面的答案。