matlab - 为什么这个指数方程返回一个全零数组?

标签 matlab zero exponential

我想弄清楚为什么我在下面的代码中得到了所有的零。

a = 7.0e16;
e = 100000;
r = 8.3140;
t = 253:2:325;

k = a.*exp(-e./t.*r);

k 返回仅包含零的 1x37 数组。

是因为我的数字太大还是太小?

最佳答案

你正在下溢。 exp 中的东西变成零,之后乘以一个大数就太晚了。它看起来像一个物理方程式——在这种情况下你想除以 r,而不是乘法。 尝试

exp(log(a)-e./(t*r))

它应该工作

编辑 - 必须在指数中添加而不是乘以 log(a)...

关于matlab - 为什么这个指数方程返回一个全零数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14447681/

相关文章:

matlab - 从曲线数据插值

php - 如何在 php 中区分一个值是零还是 NULL?

python - 在 SciPy 中求解方程系统

Python Scipy 指数曲线拟合

matlab - matlab中两个元胞数组相减最快的方法是什么

matlab - 使用 mldivide 约束参数

matlab - 在 Matlab 中索引向量函数 E(s)=(E_1(s),E_2(s),E_3(s)),无需评估函数

php - 在 FacetWP 中排序价格

javascript IsNaN 和 0

java - 如何将 BigDecimal 转换为指数形式?