Matlab中str2num函数的使用

目录

语法

说明

示例

转换为数值矩阵

转换为整数

转换为逻辑值

检查转换状态


        str2num函数将字符数组或字符串转换为数值数组。

语法

X = str2num(chr)

[X,tf] = str2num(chr)

        表示数值矩阵的文本可以包含空格、逗号或分号,例如 '5'、'10,11,12' 或 '5,10;15,20'。除数值和分隔符之外,输入文本还可以包含以下各项:

  • 小数点

  • 前导 + 或 - 符号

  • 字母 e 或 d,后接 10 的幂指数

  • 字母 i 或 j,指示复数或虚数

  • true 或 false,指示逻辑值

说明

X = str2num(chr) 将字符数组或字符串标量转换为数值矩阵。输入可以包含空格、逗号和分号,以指示单独的元素。如果 str2num 不能将输入解析为数值,则返回空矩阵。

注:tr2num 函数不转换元胞数组或非标量字符串数组,并且对 + 和 - 运算符前后的空格敏感。此外,str2num 使用 eval 函数,当输入包含函数名称时,此函数可能会产生意外的副作用。为了避免这些问题,请使用 str2double。

[X,tf] = str2num(chr) 还返回第二个输出参数,如果 str2num 成功转换 chr,则返回 1 (true)。否则,str2num 返回 0 (false)。

示例

转换为数值矩阵

        转换表示数字的字符向量。

X = str2num('100')
X = 100

X = str2num('100 200 300 400')
X = 1×4

   100   200   300   400

        str2num 可以解释指数记数法。

X = str2num('12e-3 5.9e-3 -8.1e-3 2.56e-3; 5 11.2 17.9 33')
X = 2×4

    0.0120    0.0059   -0.0081    0.0026
    5.0000   11.2000   17.9000   33.0000

转换为整数

        使用 str2num 和 uint16 将字符向量转换为无符号 16 位整数。

X = str2num('256');
X = uint16(X)
X = uint16
    256

转换为逻辑值

        将包含 true 和 false 的字符向量转换为逻辑数组。

X = str2num('false true true false')
X = 1x4 logical array

   0   1   1   0

检查转换状态

        返回失败的转换状态。tf 为 0,X 为空矩阵。

[X,tf] = str2num('12e-3 m/s, 5.9e-3 m/s')
X =

     []
tf = logical
   0

        如果删除多余的文本 (m/s),则转换成功。

[X,tf] = str2num('12e-3 5.9e-3')
X = 1×2

    0.0120    0.0059

tf = logical
   1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值