【初久】星雨☆星晨 2024-08-15 08:08 采纳率: 97.1%
浏览 13
已结题

matlab中eval和double函数

img


为什么double(fun)输出97 98 115 40 120 41

  • 写回答

2条回答 默认 最新

  • 一直免费一直爽 2024-08-15 08:09
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在MATLAB中,eval函数用于执行字符串中的表达式,而double函数用于将其他数据类型转换为双精度浮点数。在这个例子中,fun是一个包含字符串' abs(x) '的变量。

    当你使用eval(fun)时,MATLAB会计算表达式abs(x)的值,其中x已经被定义为-2。因此,eval(fun)的结果是2,即-2的绝对值。

    然而,当你使用double(fun)时,MATLAB会尝试将字符串' abs(x) '转换为双精度浮点数。由于字符串不能直接转换为数字,MATLAB会将字符串中的每个字符转换为其对应的ASCII码值。在这个例子中,字符串' abs(x) '包含以下字符及其对应的ASCII码值:

    • ' '(空格):32
    • 'a':97
    • 'b':98
    • 's':115
    • '(':40
    • 'x':120
    • ')':41

    因此,double(fun)的结果是将这些ASCII码值作为向量输出:[97, 98, 115, 40, 120, 41]。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月15日