Чтение онлайн

ЖАНРЫ

Maple 9.5/10 в математике, физике и образовании

Дьяконов Владимир Павлович

Шрифт:

> lrc_maplet : = proc

local OPTIONS, COMMAND, WINDOW, MAPLET,LINE1,LINE2, LINE3, LINE4, LINE5, LINE6, L, R, C, q0, i0, tf, v;

use Maplets, Maplets[Elements] in L, R,C,q0,i0,tf: = 1/10,1/10,1/10,0,0,10;

 v := sin(10*t);

 OPTIONS:= title="RLC Circuit Simulator";

 COMMAND:= Evaluate(function="lrc_simulate");

 LINE1:= "L(mH):",TextBox[L_](value=L*1000, onchange=COMMAND);

 LINE2 := "R (mOhm): ", Slider[R_]

 (value=R*1000,lower=0,upper=1*1000, majorticks=100, minorticks=10,filled=true,onchange=COMMAND);

 LINE3 := "C (mF): ", Slider[C_](value=C*1000, lower=0, upper=1*1000,majorticks=100, minorticks=10, filled=true, onchange=COMMAND);

 LINE4 := "q0: ", TextBox[q0_](value=q0,onchange=COMMAND), "i0: ", TextBox[i0_](value=i0, onchange=COMMAND),"tf: ", TextBox[tf_](value=tf, onchange=COMMAND);

 LINE5 := "v(t): TextBox[v_](value=v,onchange=COMMAND), Button("Plot", COMMAND), Button("Close", Shutdown);

 LINE6 := Plotter[p_];

 WINDOW := Window[W_](OPTIONS,[[LINE1],[LINE2],[LINE3],[LINE4],[LINE5],[LINE6]]);

 MAPLET := Maplet(WINDOW); Display(MAPLET);

end use;

end proc:

10.9.3.

Организация связи между процедурой моделирования и маплет-интерфейсом

Следующая процедура служит для связи между процедурой моделирования RLC-цепи и процедурой задания маплет-окна:

> lrc_simulate := proc

local L, R, С, q0, i0, tf, v, p;

use Maplets[Tools] in

 L := Get(L_(value)::algebraic, corrections=true);

 R := Get(R_(value)::algebraic, corrections=true);

 С := Get(С_(value)::algebraic, corrections=true);

 L, R, С := (L, R, C)/1000; # преобразование mH -> H, etc.

 q0 := Get(q0_(value)::algebraic, corrections=true);

 i0 := Get(i0_ (value)::algebraic, corrections=true);

 tf := Get(tf_(value)::algebraic, corrections=true);

 v := Get(v_(value)::algebraic, corrections=true);

 p := lrc(L, R, C, q0, i0, tf, v);

 Set(p_(value) = p);

end use;

end proc:

В эту процедуру включены проверки на алгебраичность вводимых с маплет-окна параметров.

10.9.4. Моделирование RLC-цепи в окне маплет-интерфейса

Теперь все готово к началу моделирования RLС-цепи с применением маплет-интерфейсного окна. Для этого достаточно исполнить команду:

> lrc_maplet;

Появится окно, представленное на рис. 10.13 поначалу с пустым подокном вывода графиков. Графики, показанные на рис. 10.13, появятся после активизации кнопки Plot.

Рис. 10.13. Моделирование RLC-цепи с параметрами, заданными по умолчанию

При параметрах взятых по умолчанию частота собственных колебаний RLC-контура близка к частоте синусоидального воздействия и наблюдаются

нарастающие почти синусоидальные колебания тока — случай сам по себе интересный, хотя и хорошо известный.

А теперь зададим в окне данные для тестового примера. Для этого изменим значения L, С (R остается прежним) и конечное время tf, а также изменим временную зависимость v(t) добавив в нее экспоненциальный член. Запустив моделирование кнопкой Plot, получим новый рисунок 10.14. Сравнив его с тестовым примером (рис. 10.14) убеждаемся в полной идентичности расчетных переходных процессов.

Рис. 10.14. Моделирование RLC-цепи в маплет-окне с параметрами тестового примера

Следует отметить, что кнопка Plot должна нажиматься только при изменении параметров, вводимых в полях. При перемещении слайдеров для R и С перестройка графиков происходит автоматически. Это позволяет наглядно оценивать переходные процессы при плавном изменении этих параметров. На рис. 10.15 показан случай, когда движком слайдера значительно уменьшена емкость С, что привело к близости частот синусоидальной компоненты входного сигнала и собственной частоты контура. В итоге получен еще один интересный вариант переходного процесса — вначале амплитуда ставших почти синусоидальными колебаний тока нарастает, но затем падает (из-за экспоненциального уменьшения входного напряжения).

Рис. 10.15. Моделирование RLС-цепи в маплет-окне с уменьшенным значением емкости С

Нетрудно заметить, что моделирование RLC-цепи в интерфейсном маплет-окне весьма наглядно. По этому и описанным ранее примерам читатель может легко конструировать свои маплет-окна и готовить в Maple 9.5/10 программные утилиты вполне профессионального качества.

10.10. Визуально-ориентированное проектирование маплетов в Maple 10

10.10.1. Ассистент по проектированию маплетов Maplet Builder

В Maple 10, наряду с описанным выше программным заданием маплетов, возможно визуально-ориентированное проектирование их. Для этого в состав ассистентов включен Maplet Builder. Его окно в полностью открытом виде до начала проектирования маплета показано на рис. 10.16.

Рис. 10.16. Окно ассистента по проектированию маплета

Это окно по вертикали делится на три области:

• наборы элементов маплета в виде кнопок;

• окна проектирования и наблюдения маплета;

• задания параметров и опций элементов маплета.

Конструирование маплета сводится к переносу мышью (методом Drag And Drop) того или иного элемента (или нескольких элементов) и установке параметров расположения, исполнения, цветового оформления и т.д. Именно последнее представляет основные трудности в реализации маплетов. К сожалению, поддержка символов кириллицы в созданных этим методом маплетов не поддерживается — хотя надписи с такими символами вводятся, но при записи маплетов в виде файла сообщается о недопустимости использования таких символов.

Поделиться с друзьями: