Matlab以多个术语而不是浮点数输出数字

Matlab以多个术语而不是浮点数输出数字,matlab,Matlab,我用Matlab计算一个定积分,它以自然常数e为基础 以下是我的输入和输出: >> syms t >> f=t/10^5*0.001*exp(-0.001*t); >> int(f,t,0,5000) ans = 1/100 - (3*exp(-5))/50 我想知道为什么我得到的结果是多个项,而不是一个数字结果?有什么办法可以解决这个问题吗?你能不能不这样做 I = int(f,t,0,5000); double(I) 非常感谢。

我用Matlab计算一个定积分,它以自然常数
e
为基础

以下是我的输入和输出:

  >> syms t
  >> f=t/10^5*0.001*exp(-0.001*t);
  >> int(f,t,0,5000)

  ans =

  1/100 - (3*exp(-5))/50
我想知道为什么我得到的结果是多个项,而不是一个数字结果?有什么办法可以解决这个问题吗?

你能不能不这样做

I = int(f,t,0,5000);
double(I)

非常感谢。那么为什么Matlab不直接输出精确的数字呢?因为你在做符号计算,所以结果是一个符号表达式。如果你想要一个数值结果,你必须把它转换成正确的数据类型。或者你根本不应该使用符号数学,在这种情况下,看看数值求积和函数。