forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   SMathStudio (http://forum.boolean.name/showthread.php?t=17024)

impersonalis 11.07.2012 22:16

SMathStudio
 
Т.к. более подходящих* бесплатных многоплатформенных CAS (computer algebra system) я не нашёл, то, думаю, можно посветить сабжу тред.

* - дружественный интерфейс, подобие и совместимость с маткадом и т.п.

impersonalis 11.07.2012 22:44

Ответ: SMathStudio
 
Вложений: 1
Внезапность номер 1.
Как вы думаете, что вы увидите, если сперва сохраните в переменную случайное число (скажем, от 0 до 10), а затем несколько раз выведите его значение?
Логично было бы предположить, что все операции вывода продемонстрируют одно и то же значение. Но нет: вероятно, в рамках концепции ленивых вычислений и для поддержки возможности символьный упрощений, переменная будет содержать вовсе не константу, а именно выражение. Таким образом, каждая операция вывода будет печатать новое случайное число. :4to:
Я слегка прифигел, когда понял почему же не работает стандартный приём по созданию случайного сигнала с заданной частотой.
Затем я прифигел, пытаясь понять: что можно сэкономить не вызвав один раз ГПСЧ, и с чем можно сократить или взаимно уничтожить "случайное число".
Далее я впал в уныние из-за отсутствия возможности чётко указать при присваивании, что выражение справа надо вычислить сейчас.
Но окончательно я впал в истерику, когда вычисление коэффициента корреляции Пирсона для двух не самых больших выборок так и не завершилось за 59 минут (!) на i5-2500 (3.3ГГц) с 8Гб ОЗУ.
(Вместо того, чтобы рассчитать нужные коэффициенты и использовать их, SMathStudio тянуло их в символьном виде кучу итераций, при этом сложность нарастала как снежный ком).

Начал шариться по форуму и нашёл-таки:
клик (автор оперирует именами из своей расчётки)
Цитата:

Если в расчете заменить значение y1 на любое положительное число не равное 1, то программа просто вылетает. Воспроизведение ошибки проверено на win/lin версиях 0.93, 0.94, 0.94.хх, 0.95. Если убрать принудителную символьную оптимизацию f(x,t) через eval(), то цикл for зацикливается. При выставлении численной оптимизации f(x,t) по выпадающему меню на правую кнопку мыши, так же наблюдается бесконечное зацикливание for.
Формулировки (особенно из-за того, что я не стал качать пример) путаны, но ситуация похожа (причём завис мой пример, когда я стал активно тестить режимы из контекстного меню*, намертво - вместе с ОС; живым остался только курсор).
* - опции эти нигде не продублированы более (я не нашёл).
Из хелпа:
Цитата:

eval("выражение") - Переводит выражение представленное аналитически в численный вид.
Суть страданий и избавления - см скриншот.
Вложение 17168
теперь расчёт производился за 3 секунды. Теперь буду как одержимый юзать eval для не символьных вычислений.

Randomize 11.07.2012 23:17

Ответ: SMathStudio
 
Вложений: 1
Вложение 17170
Что ты тут понаписал?

impersonalis 11.07.2012 23:25

Ответ: SMathStudio
 
сперва, я хотел напостить один скриншот: вроде очевидно.:''((


Часовой пояс GMT +4, время: 09:05.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot