matlab中怎么使矩阵中出现星号,在MATLAB中将包含星号的字符数组转换为数字

我很努力将包含星号('*')的字符数组转换为数字双精度。在MATLAB中将包含星号的字符数组转换为数字

我有一个基于从.dat文件导入的数据的字符向量的单元数组。例如,单元阵列C包含细胞(例如,C{1,1}, C{2,1}, ... C{n,1}),其每一个包含字符向量,例如,C{1,1}包含的列:

'23.000 * * 1.000 1.000 1.000 34.000 5.065 6.719'

当我尝试C{1,1}转换为数字双,MATLAB返回一个空双,例如,

new_double = str2num(C{1,1})

new_double =

[]

当我手动删除星号,代码工作:

new_double = str2num(C{1,1})

new_double =

23.0000 1.0000 1.0000 1.0000 34.0000 5.0650 6.7190

我想要做的就是将数据读取到一个双数组中进行进一步处理。我不在乎命令是否忽略星号或用NaN替换它们 - 带星号的数据对我来说并不重要。重要的是我读取最后两列的数据,例如5.065 6.71。不幸的是,我不能将它们编入索引,因为它们被嵌入到一个字符向量中。

我一直在使用也尝试:

c2 = C{1,1};

new_double = sscanf(c2,'%f%');

但它在星号停止读取,例如,

new_double =

23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值