gpt4 book ai didi

matlab - 用非常小的值计算matlab中的函数

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:37 24 4
gpt4 key购买 nike

我正在 matlab 中创建一个函数来计算以下函数:

enter image description here

对于这个函数我们有:

enter image description here

这是我在 matlab 中实现的函数:

function [b]= exponential(e)
%b = ?
b= (exp (e) -1)/e;

当我用非常小的值测试函数时,函数的极限确实为 1,但是当数字非常小时(例如 1*e-20),极限变为零?对这种现象的解释是什么?难道我做错了什么?。

x= 10e-1 , f (x)= 1.0517

x= 10e-5 , f (x)= 1.0000

x= 10e-10 , f (x)= 1.0000

x= 10e-20 , f (x)= 0

最佳答案

问题是 exp(x) 大约为 1+x,但由于 而被计算为 1 1 在浮点表示中与 1+x 没有区别。有一个 MATLAB 函数 expm1(x)(这是为小 x 实现的 exp(x)-1),它可以避免这个问题并且可以工作很好的小论点:

>> x=1e-100;expm1(x)/x
ans =
1

关于matlab - 用非常小的值计算matlab中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com