【发布时间】:2021-10-28 09:54:12
【问题描述】:
我想在 Matlab 中读取一个字符串(不是外部文本文件),它的数值用逗号分隔,例如
a = {'1,2,3'}
我想将它存储在一个向量中作为数字。有没有什么功能可以做到这一点?我只找到用于处理文本文件的进程和函数。 谢谢
【问题讨论】:
标签: string matlab text numbers comma
我想在 Matlab 中读取一个字符串(不是外部文本文件),它的数值用逗号分隔,例如
a = {'1,2,3'}
我想将它存储在一个向量中作为数字。有没有什么功能可以做到这一点?我只找到用于处理文本文件的进程和函数。 谢谢
【问题讨论】:
标签: string matlab text numbers comma
我认为您正在寻找 sscanf
A = sscanf(str,formatSpec)从str读取数据,并根据 转换为formatSpec指定的格式,并以 大批。str是字符数组或字符串标量。
【讨论】:
我将使用 eval 函数来“评估”向量。如果是这样的结构,我也会使用 cell2mat 来获取 '1,2,3' 文本(这也可以通过其他方法来实现。
% Generate the variable "a" that contains the "vector"
a = {'1,2,3'};
% Generate the vector using the eval function
myVector = eval(['[' cell2mat(a) ']']);
让我知道此解决方案是否适合您
【讨论】:
eval like this is discouraged。对于一次性数据导入来说没问题,但我不会在其他人会使用的代码中使用它。