我可以获得最大值来解决方程,但无法在不输入 float(%)<的额外命令/步骤的情况下弄清楚为什么它不会显示它的数值/ strong>即可。是否有自动将已解决的变量转换为数字格式。
下面的等式示例:
kill(all); alpha:float(.0014931); endfreq:50; dursec:1200; solve(alpha=log(startfreq/endfreq)/dursec,float(startfreq));
回来的是 的 startfreq = 50%E(25000分之44793)
我想说 299.988 而不是
答案 0 :(得分:0)
嗯,Maxima更喜欢精确的结果(即整数,有理数和符号常数)而不是不精确的(即float和bigfloat数)。如果您只想使用数值解法,请查看find_root
。 E.g:
(%i1) [alpha, endfreq, dursec] : [0.0014931, 50, 1200] $
(%i2) find_root (alpha = log(startfreq / endfreq)/dursec, startfreq, 1, 500);
(%o2) 299.9881594652534
请注意,要使用find_root
,您必须知道包含等式根的间隔(此处为1到500)。