Секция 7 - MATLAB в образовании и Интернете (1250002), страница 12
Текст из файла (страница 12)
конф. «Новые информационные технологии вуниверситетском образовании» (Новосибирск: СибГУТИ, 23–24 сентября 2003).— Новосибирск: СибГУТИ, 2003.— Т.1.— С.92–94.1878Секция 7. MATLAB в образовании и ИнтернетеУДК 53.072:53:372.8ОПЫТ ИСПОЛЬЗОВАНИЯ СРЕДЫ БЫСТРОЙ РАЗРАБОТКИ ПРИЛОЖЕНИЙ MATLAB В УЧЕБНОМПРОЦЕССЕ НА ФИЗИЧЕСКОМ ФАКУЛЬТЕТЕ НГУКоткин Г. Л., Черкасский В. С.,Новосибирский государственный университет, Новосибирск,e-mail: cherk@phys.nsu.ruКотельников И. А.Институт ядерной физики им.
Будкера СО РАН, Новосибирск,e-mail: I.A.Kotelnikov@inp.nsk.suСегодня никого не надо убеждать в важности использования информационных технологий (ИТ) как для целей обучения в конкретной предметной области (лекционные демонстрации, компьютерные и лабораторные практикумы, решение задач с помощью тех или иных компьютерныхсистем), так и для обучения способам владения самими этими средствами(например, универсальными языками программирования). Опыт такогоиспользования ИТ в образовании на физическом факультете НГУ насчитывает более 25 лет [1].
Зачастую каждая из перечисленных выше задачрешается своими средствами с использованием разных языков программирования, различных технологии и даже разных операционных систем. Настоящий доклад посвящен описанию использования среды быстрой разработки приложений MATLAB для решения большей части этих задач.Первая часть доклада посвящена описанию практикума «Компьютерное моделирование физических процессов с использованиемMATLAB», который преподается на физическом факультете НГУ во втором семестре первого курса после ознакомительного курса «Введение винформационные технологии» в первом семестре.
Этот практикум является комплексным — наряду с изучением языка программированияMATLAB большое внимание в курсе уделяется собственно задачам моделирования.Вторая часть доклада посвящена описанию опыта использованиясреды быстрой разработки приложений (СБРП) MATLAB для создания«закрытых» моделирующих задач, которые используются для изученияконкретных физических явлений (на примере электродинамики, изучаемойстудентами в третьем и четвертом семестрах) как в режиме лекционныхдемонстраций, так и в режиме самостоятельной работы студентов. Причемэта работа может осуществляться как в локальном режиме (с установленной на компьютере СБРП MATLAB), так и через Интернет.1879Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»Моделирование физических явлений с помощью MATLABДля обучения компьютерному моделированию физических процессов необходимо научить студента1.
формулировать математическую постановку физической задачи и находить методы ее решения;2. «программировать на компьютере», т. е. использовать среду разработкиприложений для ввода и отладки программы и поиска необходимой информации по языку программирования в справочной системе СБРП;3. представлять получаемые результаты в наглядной форме, которая позволяет лучше понять происходящие процессы.При этом желательно, чтобы у обучаемого не угас интерес по мере продвижения по всем этим этапам, а это возможно только тогда, когда на каждом шаге возникают относительно интересные задачи, которые удаетсярешать уже знакомыми средствами.На этом пути нами было принято решение не разделять все эти тристороны процесса моделирования.
При стандартном подходе студент изучает три отдельные дисциплины (уравнения математической физики ичисленные методы их решения, программирование и собственно физику),причем они редко бывают связаны между собой. Такие же вопросы, какпредставление результатов расчетов в наглядной форме и их анализ вообще не встречается ни в каком курсе. Существенным отличием ныне существующего практикума «Компьютерное моделирование физических процессов с использованием MATLAB» от его предшественников [1-3] является переход от универсального языка программирования (как Фортранили Паскаль) к СБРП MATLAB фирмы MathWorks, созданной для решения инженерных и научных задач. Выбор системы MATLAB был осуществлён в ходе дискуссий с участием широкого круга преподавателей в 19971998 годах.
Принятое решение было мотивировано тем, что языкMATLAB является интерпретирующим языком высокого уровня, а СПРПMATLAB имеет богатую библиотеку встроенной графики и легко создаваемый графический интерфейс пользователя. Не последнюю роль в предпочтении системе MATLAB перед конкурирующими системами научныхрасчетов, таких как MathCAD, Mathematica и Maple, сыграло то обстоятельство, что среди преподавателей уже тогда были ярые приверженцыMATLAB, один из которых (В.Ч.) является автором данной статьи. Нашопыт подтверждает известное правило, что при наличии примерно равныхпрограммных продуктов при выборе средства обучения студентов предпочтение следует отдавать тому продукту, который имеет наибольшеечисло приверженцев среди преподавателей, так как хорошо преподаватьконкретный язык программирования могут только его энтузиасты.В ранних вариантах компьютерного практикума на физическом факультете НГУ при работе на Паскале авторы курса сами разрабатывали1880Секция 7.
MATLAB в образовании и Интернетеграфический интерфейс пользователя, а в СБРП MATLAB разработка такого интерфейса по силам даже новичку. Таким образом, одна из задачданного курса — научить студента пользоваться высокоуровневыми средствами программирования и осваивать предоставленные средства.Обучение программированию и особенности графического интерфейсаВ настоящее время курс состоит из 8 лекций (16 часов) и 48 часовпрактических занятий в компьютерном классе. С первого занятия студентыначинают работать с исходными текстами программ, приготовленными заранее для этого курса, что позволяет им сразу познакомиться с языкомMATLAB (не в полном объеме, зато сразу же на уровне «разговорного»).Эти программы представляют собой с одной стороны каркас будущей программы студента, а с другой стороны — вполне работоспособные программы, которые содержат как расчетную часть простейшего варианта соответствующей модели (см.
далее), так и уже созданный графический вывод. Например, простейший вариант расчета и вывода на экран графикабиений при сложении двух колебаний с близкими частотами имеет вид:function r=run_beats()% Задание параметров задачиa1=1; a2=1.1;w1=1.0;w2=1.2;t0=0;tm=25;N=500;T=tm-t0;dt=T/N;% Основной блок вычисленийt=t0:dt:tm;%Вычисление функции «биений»y=a1*cos(w1*t)+a2*cos(w2*t);% Отрисовка полученного графикаplot(t,y);Эта функция вполне работоспособна, и на ее примере мы далее продемонстрируем создание графического интерфейса, как это предлагается сделатьстуденту.При дальнейшей работе (по мере надобности для решения конкретной задачи) обучаемые знакомятся с такими элементами языка как циклыWhile и For, функциями, использованием функций в качестве аргументовдругих функций, условными операторами If, If Else и Case. Далее студенты осваивают со стандартными функциями графического вывода типаPlot, Axis, а также с технологией анимационного вывода (путём изменения свойств объекта Line).
Например, в задаче о биениях, приведеннойвыше, студенту предлагается модифицировать программу так, чтобы вывод осуществлялся в несколько окон на одном рисунке, причем в каждом1881Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»из окон параметр отношения частот был другим. При этом студенты знакомятся с функцией subplot, а также с функцией вывода заголовка title.В результате такого обучения, в каждом случае нацеленного на решение практической задачи, студент осваивает основы языка MATLAB (заисключением сложных типов данных и работы с файлами данных), а такжеприобретает опыт использования пользовательских функций графическогоинтерфейса, которые предоставляет разнообразные услуги по взаимодействию с процессом счета и графическим выводом.
Хорошо успевающиестуденты, желающие совершенствовать свои знания в программировании,могут модифицировать эти функции для решения своих задач.Методика решения физических задачЗа время обучения студент обязан решить четыре задачи из обязательного списка (по выбору преподавателя) и одну задачу по собственномувыбору либо из предложенного списка (15 задач), либо свою собственнуюзадачу по согласованию с преподавателем.
В список обязательных задачвходят:1. ознакомительные задачи «Биения» и «Фигуры Лиссажу»,2. одномерные колебания «Маятник»,3. движение в центральном поле «Планеты»,4. случайные блуждания «Диффузия»,5. броуновское движение,6. кинетика газа дисков,7. ослабление пучка частиц при прохождении через вещество.Список задач для самостоятельного решения значительно шире и постоянно пополняется преподавателями с учётом их собственных интересови направления научных исследований.