best approximation for double numbers
1 次查看(过去 30 天)
显示 更早的评论
I have the following function which has an asymptote for y = 1 :
syms f(x)
syms x
f(x) = 1 / (1 + exp(-((x + 8.4730) / 10 )));
So, so the function should have a value < 1 for all x.
Also using "format long", of course, from a certain value of x onwards, the result of the function is approximated to 1.
format long
double(f(400)) % ans = 1
Is there a way to get an approximation to the exact value for even larger x? Or should I settle for this approximation?
0 个评论
采纳的回答
VBBV
2023-7-21
format long
syms f(x)
syms x
f(x) = 1 / (1 + exp(-((x + 8.4730) / 10 )))
vpa(f(400),100)
2 个评论
Walter Roberson
2023-7-21
syms f(x)
syms x
f(x) = 1 / (1 + exp(-((x + 8.4730) / 10 )))
f1 = simplify(expand(1-f))
double(f1(400))
fplot(f1,[500 600])
f1n = matlabFunction(f1)
fplot(f1n, [500 600])
f1 gives you an idea of how quickly the value approaches 1, by showing you how quickly the difference between 1 and f falls. f1n shows that a numeric approximation (instead of a symbolic) of 1-f is still not bad at all in this kind of range.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numbers and Precision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!