我正在尝试使用 执行数学运算sed,但它继续将我的变量视为字符串。输入是这样的:
$ echo 12 | sed 's/[0-9]*/&+3/'
$ 12+3
Run Code Online (Sandbox Code Playgroud)
我想要 15 作为输出。我只需要在一个段落中执行操作并替换其数学结果,因为我将程序作为 Python 守护程序运行,并且我想避免像重定向stdout文件、打开这些文件、执行操作、提取结果、执行这样的段落更换。对我来说,sed似乎最好在一行中执行所有操作。
我尝试以各种方式同时投射输入和输出,例如
$ echo 12 | sed 's/[0-9]*/int(&+3)/'
$ echo 12 | sed 's/[0-9]*/\int(&+3)/'
$ echo 12 | sed 's/[0-9]*/\int(&+3)/'
Run Code Online (Sandbox Code Playgroud)
但结果总是打印第二个字段。
什么命令可以为我打印 pi?我想指定它打印了多少位数字,我在网上找不到任何东西。我只想能够打印 pi。
我的合作者正在使用 Matlab 进行一些模拟。是否有我可以在 Linux 上使用的开源替代方案来运行这些脚本?它需要与 (1) matlab 语言 (2) *.fig 文件 - 保存的图非常兼容。
我正在printf我的系统上测试两种不同的实现:printf (GNU coreutils) 8.26,以及与zsh 5.3.1. 我正在测试半数是如何四舍五入的,即 1.5、2.5、3.5、... 9.5。
$ for i in {1..9}; do /usr/bin/printf '%.0f\n' "${i}.5"; done
2
2
4
4
6
6
8
8
10
$ for i in {1..9}; do printf '%.0f\n' "${i}.5"; done
2
2
4
4
6
6
8
8
10
Run Code Online (Sandbox Code Playgroud)
在这里,两者显然都是半圆的。但是,当我测试四舍五入到第一个小数位时,事情变得混乱。也就是说,我正在测试 1.15、1.25、1.35、... 1.95。
$ for i in {1..9}; do /usr/bin/printf '%.1f\n' "1.${i}5"; done
1.1
1.2
1.4
1.5
1.5
1.6
1.8
1.9
2.0
$ for i in …Run Code Online (Sandbox Code Playgroud) 我正在研究矩阵、特征矩阵和网络图的数据可视化,我正在尝试通过网络图可视化一维 ECG 信号。我觉得目前的工具ggnet2,并plotly可能不够,但我还没有成功地完成了与基本的测试plotly,因为我不能把它安装。我经过3次不成功的安装尝试去plotly如根在R的提示install.packages(plotly),但我不断收到
** building package indices
** testing if installed package can be loaded
* DONE (purrr)
ERROR: dependency ‘openssl’ is not available for package ‘httr’
* removing ‘/usr/local/lib/R/site-library/httr’
ERROR: dependency ‘httr’ is not available for package ‘plotly’
* removing ‘/usr/local/lib/R/site-library/plotly’
The downloaded source packages are in
‘/tmp/RtmpoWcHte/downloaded_packages’
Warning messages:
1: In install.packages("plotly") :
installation of package ‘openssl’ had non-zero exit status
2: In install.packages("plotly") :
installation of package …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu Linux 中使用 bc。它有一个预定义的常量 PI,设置为 99。为什么 bc 将 PI 定义为 99 而不是 3.14159...?
我正在寻找与 Linux 兼容的基于 TTY 的计算器。例如:
user@host:~$ calculate
> 2
2
user@host:~$ calculate
> 8*6-4
44
user@host:~$ calculate
> 8*(6-4)
16
Run Code Online (Sandbox Code Playgroud)
是否有这样的东西支持基本操作、一些内置函数(如 )atan(),以及可能通过脚本编写的自定义函数?
我在这个网站上阅读了一些答案,发现printf四舍五入是可取的。
然而,当我在实践中使用它时,一个微妙的错误导致我出现以下行为:
$ echo 197.5 | xargs printf '%.0f'
198
$ echo 196.5 | xargs printf '%.0f'
196
$ echo 195.5 | xargs printf '%.0f'
196
Run Code Online (Sandbox Code Playgroud)
请注意,四舍五入196.5变为196。
我知道这可能是一些微妙的浮点错误(但这不是一个很大的数字,嗯?),所以有人可以对此有所了解吗?
对此的解决方法也非常受欢迎(因为我现在正在尝试将其付诸实践)。
如果您加载bc 数学库,您将获得三角函数s()和c()和a()分别是正弦、余弦和反正切。为什么是这三个函数?
我知道为什么从数学角度是这三个:这是因为这三个是您需要在笛卡尔坐标和极坐标之间直接转换的三个。我是一名数学老师,不幸的是,这是我看到正弦/余弦/反正切被建立为原始三角函数集的唯一地方,所以我希望有人能在更历史的背景下告诉我为什么。Idk 在与数学教育工作者谈论为什么在切线之前向学生介绍反正切并不是一个亵渎神明的想法时,我最需要弹药。
math ×10
bash ×2
bc ×2
printf ×2
command ×1
debian ×1
exit-status ×1
history ×1
linux ×1
plotting ×1
r ×1
reference ×1
sed ×1
shell-script ×1
software-rec ×1