Максимумы и преобразование вывода переменной в плавающее
Я могу получить максимумы для решения уравнения, но не могу понять, почему он не покажет его числовое значение без ввода дополнительной команды / шага с плавающей точкой (%). Есть ли возможность автоматически конвертировать решенную переменную в числовой формат.
Пример уравнения ниже:
kill(all); alpha:float(.0014931); endfreq:50; dursec:1200; solve(alpha=log(startfreq/endfreq)/dursec,float(startfreq));
то, что возвращается, являетсяstartfreq=50%e(44793/25000)
Я бы хотел сказать 299,988 вместо
1 ответ
Итак, Maxima предпочитает точные результаты (т. Е. Целые числа, рациональные числа и символические константы), а не неточные (т. Е. Числа с плавающей и большой чисел). Если вы хотите работать только с числовыми решениями, взгляните на find_root
, Например:
(%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), который содержит корень уравнения.