Главная » Просмотр файлов » Секция 7 - MATLAB в образовании и Интернете

Секция 7 - MATLAB в образовании и Интернете (1250002), страница 14

Файл №1250002 Секция 7 - MATLAB в образовании и Интернете (Секция 7 - MATLAB в образовании и Интернете) 14 страницаСекция 7 - MATLAB в образовании и Интернете (1250002) страница 142021-04-06СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 14)

Мыразработали процедуру вычисления емкости и заряда на поверхности и добавили в меню Solve задачи pdetool новый пункт Capacity (Емкость). Оригинальный алгоритм такого расчета нам подсказал (после обращения черезфорум сайта Matlab.ru) ведущий одного из разделов Шмелев В. Е.Большинство представляющих интерес демонстраций и учебных задач представляют собой решение динамических задач, поэтому для ихпредставления как локально, так и в Интернете представляется важнымвывод анимированных изображений. И хотя в системе MATLAB имеютсясредства для локального вывода анимированного изображения, эта проблема не всегда решается стандартными средствами даже для локальногопредставления, тем более для представления в Интернете.Проблемы вывода динамических изображений в локальных задачах ипути их решенияВ настоящее время в системе MATLAB существует два способа получения анимированных изображений — анимация «на лету» с помощьюизменения свойств соответствующих графических объектов, и анимация,получаемая с помощью создания соответствующей матрицы с последующим ее выводом с помощью процедуры movie [6].

Для создания анимированных демонстраций, обладающих интерактивными возможностями,предпочтительным является первый способ, особенно, в сочетании с графическим интерфейсом, позволяющим оперативно менять параметры задачи и тут же получать динамические результаты расчета на экран. Еслизадача готовится для самостоятельной работы студента, то предпочтитель1887Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»ным вариантом является анимация «на лету» с одновременной возможностью самостоятельного задания входных параметров.

Такая задача должнатщательно разрабатываться и еще с той точки зрения, что необходимо вводить достаточное количество проверок вводимых параметров, посколькуошибочное (или злонамеренное) введение неверных значений может привести к аварийным ситуациям (деление на ноль, вычисление с несуществующим элементом и т. д.). Если же та же самая задача готовится преподавателем для демонстрации на лекции, то желательно заготовить набор параметров при которых демонстрируемый эффект наиболее ясен, либо приготовить заранее готовые массивы данных с уже записанными анимациями.При разработке задач по электродинамике часто приходится выводить изолинии скалярного поля или силовые линии (линии тока) векторного поля, причем желательно делать это в режиме анимации если поле меняется со временем.

Если для вывода отдельных линий в режиме «анимации на лету» существует подробное описание [4, 6], то для вывода изолиний скалярного поля такого очевидного пути нет. Такая же проблема возникает при динамическом выводе гистограммы. Проблема состоит в том,что процедура вывода изолиний contour() и процедура построения гистограммы hist() являются процедурами высокого уровня, и они не генерирует дескриптор какого-либо графического объекта, чьи свойства можно было бы менять в процессе вывода для создания эффекта анимации. В этомслучае для анимирования гистограммы [4] приходится поступать следующим образом. С помощью процедуры hist и stairs генерируется (безвывода на экран) набор координат ломаной, которая описывает требуемуюгистограмму.

Это может быть, например, такой кодy= %Генерация случайных чиселdx=0.25; % Ширина биновx=-2.5:dx:2.5; % Центры бинов% Вычисление параметров гистограммы[ny,xh]=hist(y,x);xh=xh-dx/2;% Вычисление координат ломаной[xl,yl]=stairs(xh,ny);% Создание дескриптора ломаной линииhl=line(xl,yl);set(hl,’EraseMode’,’xor’);pause;После этого уже можно запускать вычислительный цикл, в которомизменяются свойства линии XData и YData, что и приведет к анимированному выводу гистограммы.Для создания анимированной картины движения изолиний пришлосьиспользовать более сложный алгоритм, хотя суть его осталась такой же —выделение с помощью стандартных функций (в случае с изолиниями этофункция contourc) векторов координат и дескрипторов линий, которые1888Секция 7.

MATLAB в образовании и Интернетеописывают искомые изолинии, присвоение им соответствующих свойств‘EraseMode’ и постоянное обновление их координат в процессе движенияизолиний. Трудность еще состояла в том, что в силу физической специфики задачи и ограниченной области вывода изолиний число изолиний изменялось в процессе вывода. Все это требовало специальных решений приразработке соответствующих процедур. Так например, для решения такихразных задач как изображение силовых линий поля излучения с помощьювектора Герца и изображения силовых линий магнитного поля и токов настенках прямоугольных волноводов была разработана функцияmove_contour, которая приводится далее.function [v,hl]=move_contour(x,y,Z,Niz,ini,hl)% Эта процедура позволяет изобразить движущиеся% изолинии переменного поля% x и y - координаты прямоугольной сетки в узлах % которой рассчитано выводимое скалярное поле% Y — матрица значений скалярного поля в узлах% Niz — если это целое число, то это число выво% димых изолиний, а если это вектор, то его зна% чения — значения поля на выводимых изолинияхpersistent NNI% Вычисление матрицы изолинийCC=contourc(x,y,Z,Niz);n1=0;n3=length(CC);n2=1;ii=0;while n2<n3ii=ii+1;n1=n1+2;n2=n1-1+CC(2,n1-1);if ini% Выделение отдельной линииhl(ii)=line(CC(1,n1:n2),CC(2,n1:n2));v(ii)=CC(1,n1-1);set(hl(ii),'EraseMode','Xor','color','k');else% Выделение отдельной линииset(hl(ii),'Xdata',CC(1,n1:n2),'Ydata',…CC(2,n1:n2));end;n1=n2;end;% цикла whileif iniNNI=length(hl);elseif NNI>iifor iii=ii+1:NNI% Удаление «исчезнувших» линийset(hl(iii),'Xdata',[],'Ydata',[]);1889Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»end;end;Вывод анимированных изображений в ИнтернетНи один из описанных выше способов анимации в чистом виде негодится при представлении задачи в Интернете.

Последовательную пересылку и загрузку html-страниц для получения анимации, конечно, реализовать невозможно. Пересылка же матрицы для функции movie и ее последующее воспроизведение на стороне клиента требует наличия у клиентаустановленной системы MATLAB, от чего мы отказались с самого начала.Поэтому нами было принято решение генерировать на стороне серверасредствами MATLAB стандартный для Интернет анимированный графический файл. Система MATLAB до версии 6.0 таких средств в качествевстроенных функций не содержала. Поэтому после проведенного поискамы остановились на программе mpgwrite, взятой нами из архива MathWorks, и пакета программ makemovie, разработанного А.

Вейманом(A. Weigman, wiegmann@math.lbl.gov).Программа mpgwrite использует матрицу, подготовленную с помощью стандартных средств Matlab для использования с функцией movie. Нодело в том, что функция getframe, используемая для этих целей, не работает на стороне сервера и команда M(j)=getframe возвращает пустую матрицу. Пришлось создавать матрицу M с помощью функции print.print -djpeg -r72 skin.jpgOutImage = imread('skin.jpg');%frame(j1).cdata=OutImage;frame(j1).colormap=[];После чего использовать матрицу frame в качестве аргументафункции mpgwrite для создания mpg-файла.При использовании функции makemovie в пакете поставки имеетсяфункция makeframe, которая создает и записывает на диск промежуточные файлы с мгновенными изображениями.

В этом пакете имеются варианты создания gif-файлов и mpg-файлов, но вариант с созданием mpgфайлов не работает, поэтому нами в настоящее время используются обапакета один - для создания gif-файлов и второй - mpg-файлов. Необходимость предоставлять пользователю возможность выбора типа генерируемого файла связана с тем, что просмотр этих файлов осуществляется разными средствами по разному. Gif-файл просматривается на экране средствами браузера и полученная анимация прокручивается заранее заданноечисло раз. Mpg-файл просматривается с помощью проигрывателя WindowsMedia (на компьютерах, на которых установлена операционная системаWindows) и этим просмотром можно управлять (останавливать, повторять,просматривать по кадрам)1890Секция 7.

MATLAB в образовании и ИнтернетеОпыт разработки и эксплуатации моделирующих программПо описанной технологии к настоящему времени разработаны 11 задач по электродинамике: «Диаграмма направленности антенн», «Токи наповерхности кубического резонатора», «Диаграмма направленности излучения релятивистской частицы», «Движение релятивистской частицы вполе сильной электромагнитной волны», «Нестационарный скин-эффект»и «Скин-эффект внутри проводящего полого цилиндра», «Расплывание пакета в среде с дисперсией», «Фурье-преобразование», «Электростатическое поле зарядов», «Излучение вектора Герца».

С этими задачами можнопознакомитьсянасайтахhttp://matlab.tutornet.ru,http://www.phys.nsu.ru:8000.При эксплуатации задач выяснилась следующая проблема - аварийный останов программы (деление на ноль, несовпадение размерности массивов и т. д.), т.

е. те ошибки, которые при локальном исполнении приводят к останову исполнения задачи и переходу в режим командного окна,приводит к зависанию программы matweb.exe и необходимости его перезапуска. Кроме того, использованная система генерации графических файлов с записью на диск промежуточных картинок является достаточносложной и относительно медленной. Выходом может быть разработкафункции, генерирующей графические анимированные файлы в памяти.Возможно, появившаяся в версии 6.Х функция avifile поможет решить этупроблему.В настоящее время все разработанные задачи могут работать также влокальном варианте, если на компьютера пользователя установлен MatLab.При работе в пределах Новосибирского научного центра время получениярезультата расчета составляет для разных задач от 30 секунд до 2 минут.Литература1.

Характеристики

Тип файла
PDF-файл
Размер
3,69 Mb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее