Я догадываюсь, что вам здесь нужно сделать, но позвольте мне предложить вам изменить определение функции s_x2
на s_x2(s_yx):= ''(s_x(T))
вместо s_x2(s_yx):= s_x(T)
. Эффект кавычки ''
заключается в вставке текущего значения s_x(T)
в тело функции. В противном случае тело функции не оценивается, и в конечном результате вы получаете неоцененный символ s_yx
.
Когда я пробую это, я получаю вот что. Все остальное, что было раньше, то же самое, я показываю только последнюю часть.
(%i28) s_x2(s_yx):= ''(s_x(T));
7 %pi
cos(-----) s_yx
18
(%o28) s_x2(s_yx) := ---------------
7 %pi
sin(-----)
18
(%i29) s_x2(10000`m);
7 %pi
10000 cos(-----)
18
(%o29) ---------------- ` m
7 %pi
sin(-----)
18
(%i30) float(%);
(%o30) 3639.702342662025 ` m
Maxima имеет так называемую политику одноразовой оценки, которая в данном случае приводит к s_yx
оценка не выполняется должным образом. Использование кавычек в определении функции позволяет избежать проблемы в этом случае.
Другой способ сделать это - сказать define(s_x2(s_yx), s_x(T))
. Это более общий вариант, потому что кавычки применяются только во время анализа ввода.