Проблема с функцией interactiveparams

Форум пользователей пакета Maple

Модератор: Admin

Gickle
Сообщения: 9
Зарегистрирован: Вт май 05, 2015 1:55 am

Проблема с функцией interactiveparams

Сообщение Gickle » Пн июн 01, 2015 11:29 am

День добрый. В общем, есть необходимость в построении функции:

Код: Выделить всё

g(xi):=1/(rho)*sum(((xi-m)^(m-1))/((m-1)!*(1/(rho)-1)^(m))*exp((m-xi)/(1/(rho)-1)),m=1..floor(xi))
,

где rho - есть некоторый параметр, изменяющийся в пределах 0..1.

Не долго думая, я написал следующее:

Код: Выделить всё

with(plots);
interactiveparams(plot, [g(xi), xi = 0 .. 10], rho = 0 .. 1);

И, в общем, Maple выводит график для rho = 0.5, но стоит изменить значение параметра (подвинуть ползунок или даже просто вручную циферку поставить), как тут же всё падает и вообще всё плохо. Причём если просто строить график для g с изначально заданным параметром, то всё хорошо строится. Для совсем простеньких функций interactiveparams справляется хорошо (брал примеры из help'a).

Как сделать всё аккуратненько, чтобы не приходилось каждый раз задавать параметр вручную всюду. Это уж совсем неприлично как-то.

Markiyan Hirnyk
Сообщения: 1314
Зарегистрирован: Вс дек 04, 2011 11:07 pm

Предложение

Сообщение Markiyan Hirnyk » Пн июн 01, 2015 11:03 pm

Как Вам
restart: g := (xi, rho) ->(sum((xi-m)^(m-1)*exp((m-xi)/(1/rho-1))/(factorial(m-1)*(1/rho-1)^m), m = 1 .. xi))/rho:
Explore(plot3d(g, 0 .. 10, a .. a, orientation = [-90, 90, 0]), parameters = [a = 0.1e-1 .. .995]);
?
Обратите внимание на верхний предел суммирования и пределы для параметра (дабы искключить особенности).

Gickle
Сообщения: 9
Зарегистрирован: Вт май 05, 2015 1:55 am

Сообщение Gickle » Вт июн 02, 2015 10:18 am

Очень хорошо. Большое спасибо. :)