equation - 在 Raku 中求解指数方程
问题描述
我正在尝试像这样求解这个指数方程:
my ($l,$r);
for (1 .. 100) -> $x {
$l = $x * e ** $x;
$r = 5 * (e ** $x - 1);
say $x if $l == $r;
}
但它不起作用。如何以一种直接而全面的方式解决它?
解决方案
抱歉重复回答。
但这是在 Raku 中解决的完全不同的更简单的方法。
(它可能可以表述得更优雅。)
#!/usr/bin/env raku
sub solver ($equ, $acc, $lower0, $upper0) {
my Real $lower = $lower0;
my Real $upper = $upper0;
my Real $middle = ($lower + $upper) / 2;
# zero must be in between
sign($equ($lower)) != sign($equ($upper)) || die 'Bad interval!';
for ^$acc { # accuracy steps
if sign($equ($lower)) != sign($equ($middle))
{ $upper = $middle }
else
{ $lower = $middle }
$middle = ($upper + $lower) / 2;
}
return $middle;
}
my $equ = -> $x { $x * e ** $x - 5 * (e ** $x - 1) }; # left side - right side
my $acc = 64; # 64 bit accuracy
my Real $lower = 1; # start search here
my Real $upper = 100; # end search here
my $solution = solver $equ, $acc, $lower, $upper;
say 'result is ', $solution;
say 'Inserted in equation calculates to ', $equ($solution), ' (hopefully nearly zero)'
推荐阅读
- javascript - Empty 不能在 rxjs 中完成 observable
- c++ - 如何比较数组并检查其顺序是否正确
- r - 较长的对象长度不是使用 MAP2 函数的较短对象长度的倍数
- java - 如何处理 OAuth 网络客户端异常
- css - CSS 不适用于 Shadow DOM 中的 Angular 元素(Web 组件)
- c# - c# Xamarin UWP/Android 服务器 - 客户端套接字 tcp 无法正确连接
- forms - (关于 POST 请求的问题)有没有办法发送 POST 请求,然后在外部出现 302 的情况下取回检索到的资源?
- django - Django-templated-email 不发送电子邮件
- excel - 如何在Excel中匹配文本
- r - 具有空值的 SparkR Tidyr