41
1 Дисциплина «Компьютерное Дисциплина «Компьютерное обеспечение инженерных задач» обеспечение инженерных задач» Факультет МТС Факультет МТС Курс Курс – 2 – 2 Семестр – 4 Семестр – 4 Форма контроля Форма контроля – зачет – зачет Лекции Лекции – 16 часов – 16 часов Лабораторные работы Лабораторные работы – 14 часов – 14 часов Целью настоящего курса Целью настоящего курса – дать студенту знания и практические – дать студенту знания и практические навыки в области организации вычислений при решении навыки в области организации вычислений при решении инженерных задач с использованием современных математических инженерных задач с использованием современных математических пакетов ( пакетов ( MATLAB MATLAB ). ). Автор курса Автор курса к.т.н., доцент Красов Андрей Владимирович к.т.н., доцент Красов Андрей Владимирович директор УИЦ ИТТ, доцент каф. ИБТС директор УИЦ ИТТ, доцент каф. ИБТС Куратор специальности 201800 «Защищенные Куратор специальности 201800 «Защищенные системы связи» системы связи» «Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Дисциплина «Компьютерное обеспечение инженерных задач»

Embed Size (px)

DESCRIPTION

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В. Дисциплина «Компьютерное обеспечение инженерных задач». - PowerPoint PPT Presentation

Citation preview

Page 1: Дисциплина «Компьютерное обеспечение инженерных задач»

11

Дисциплина «Компьютерное Дисциплина «Компьютерное обеспечение инженерных задач»обеспечение инженерных задач»

Факультет МТС Факультет МТС Курс Курс – 2 – 2Семестр – 4 Семестр – 4 Форма контроля Форма контроля – зачет – зачет Лекции Лекции – 16 часов – 16 часов Лабораторные работы Лабораторные работы – 14 часов – 14 часов

Целью настоящего курсаЦелью настоящего курса – дать студенту знания и практические навыки в – дать студенту знания и практические навыки в области организации вычислений при решении инженерных задач с области организации вычислений при решении инженерных задач с использованием современных математических пакетов (использованием современных математических пакетов (MATLABMATLAB).).

Автор курсаАвтор курса

к.т.н., доцент Красов Андрей Владимирович к.т.н., доцент Красов Андрей Владимирович директор УИЦ ИТТ, доцент каф. ИБТС директор УИЦ ИТТ, доцент каф. ИБТС

Куратор специальности 201800 «Защищенные Куратор специальности 201800 «Защищенные системы связи» системы связи»

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Page 2: Дисциплина «Компьютерное обеспечение инженерных задач»

22

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Лабораторные работы проводятся в компьютерных классах УИЦ ИТТ, Лабораторные работы проводятся в компьютерных классах УИЦ ИТТ, расположенных в учебном корпусе №2 СПбГУТ по адресу наб.р. Мойка д.65. расположенных в учебном корпусе №2 СПбГУТ по адресу наб.р. Мойка д.65.

Аудитории № 42, 43 и 48. Аудитории № 42, 43 и 48.

Материалы к занятиям представлены на сайтеМатериалы к занятиям представлены на сайте

в разделе «Кафедра ИБТС \ Материалы к занятиям»в разделе «Кафедра ИБТС \ Материалы к занятиям» www.mts-sut.spb.ru

Page 3: Дисциплина «Компьютерное обеспечение инженерных задач»

33

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Лекция 1. Решение инженерных задач в среде MatLABЛекция 1. Решение инженерных задач в среде MatLAB

Краткая характеристика развития науки и Краткая характеристика развития науки и потребностей в инженерных расчетахпотребностей в инженерных расчетах

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

О математических достижениях вавилонской, австрийской О математических достижениях вавилонской, австрийской цивилизаций сведений сохранилось крайне мало. В цивилизаций сведений сохранилось крайне мало. В IIIIII тысячелетии тысячелетии до нашей эры в долине рек Тигра и Ефрата возникло, наверное, до нашей эры в долине рек Тигра и Ефрата возникло, наверное, древнейшее государство, в котором активно использовались древнейшее государство, в котором активно использовались математические знания.математические знания.

Шумеры использовали 12-и ричную и 60-и ричную Шумеры использовали 12-и ричную и 60-и ричную позиционную систему счисления, специально ориентированную на позиционную систему счисления, специально ориентированную на астрономические расчеты.астрономические расчеты.

Вавилоняне знали теорему Пифагора, знали очень точно Вавилоняне знали теорему Пифагора, знали очень точно значение главного иррационального числа -  корня из 2, вычисляли значение главного иррационального числа -  корня из 2, вычисляли квадраты и квадратные корни, кубы и кубические корни, умели квадраты и квадратные корни, кубы и кубические корни, умели решать системы уравнений и квадратные уравнения. Шумеро-решать системы уравнений и квадратные уравнения. Шумеро-вавилонская математика была на голову выше египетской.вавилонская математика была на голову выше египетской.

Рис. 1.1. Древние шумеры и дошедшая до нас глиняная

табличка содержащая математические расчеты

Page 4: Дисциплина «Компьютерное обеспечение инженерных задач»

44

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Известны египетские источники II-го тысячелетия до н.э. математического Известны египетские источники II-го тысячелетия до н.э. математического содержания: папирус Ринда (1680 г. до н.э., Британский музей) и Московский содержания: папирус Ринда (1680 г. до н.э., Британский музей) и Московский папирус. папирус. Они содержат решение отдельных задач, встречающихся в практике, Они содержат решение отдельных задач, встречающихся в практике, математические вычисления, вычисления площадей и объемов.математические вычисления, вычисления площадей и объемов.

Рис. 1.2. Папирус Ринда (1680 г. до н.э., Британский музей)

Математические знания широко использовались в древнем Египте при Математические знания широко использовались в древнем Египте при строительстве пирамид. строительстве пирамид.

Рис.1.3. Использование рычага при строительстве пирамид

Page 5: Дисциплина «Компьютерное обеспечение инженерных задач»

55

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Рис 1.4. Иллюстрация доказательства теоремы Пифагора и применения орудий Архимеда

Значительно больше сведений сохранилось об уроне развития математики в Значительно больше сведений сохранилось об уроне развития математики в эпоху древней Греции, хотя нужно отметить, что большая часть знаний шумеро-эпоху древней Греции, хотя нужно отметить, что большая часть знаний шумеро-вавилонской и даже египетской цивилизаций оказались утраченными. вавилонской и даже египетской цивилизаций оказались утраченными.

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

Появляются первые научные школы, как средство передачи знаний. Появляются первые научные школы, как средство передачи знаний.

Page 6: Дисциплина «Компьютерное обеспечение инженерных задач»

66

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

В этот период складывается основа последующей восточно-европейской и западноевропейской науки. К этому периоду относятся первые описания применения математических экспериментов, моделирования.

Уже в эту эпоху происходит разделение на материальные и математические модели. Наиболее характерной чертой является применение материальных моделей 1:1. Например, корона Архимеда, метательные орудия.

Математические расчеты применялись только тогда, когда построить модель не было возможности.

Рис. 1.5. Предполагаемый вид одного из гигантских кораблей древности, в строительстве которого принимал участие Архимед.

Page 7: Дисциплина «Компьютерное обеспечение инженерных задач»

77

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Применение математических вычислений в используемой тогда непозиционной системе Применение математических вычислений в используемой тогда непозиционной системе счисления (позже названную римской системой счисления) было очень трудной задачей. Даже много счисления (позже названную римской системой счисления) было очень трудной задачей. Даже много веков спустя, в средневековой Европе. Умножение чисел в свою программу мог включить только один веков спустя, в средневековой Европе. Умножение чисел в свою программу мог включить только один Болонский университет. Для изучения этой операции в него ехали со всей средневековой Европы. Это Болонский университет. Для изучения этой операции в него ехали со всей средневековой Европы. Это было вызвано наследием пиренейских стран от многочисленных войн и контактов с маврами. было вызвано наследием пиренейских стран от многочисленных войн и контактов с маврами. Арабский Арабский мир в этот период значительно опережал измученную инквизицией Европу. мир в этот период значительно опережал измученную инквизицией Европу.

Рис. 1.6. Шведский фрегат Ваза 1628 г.

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

Page 8: Дисциплина «Компьютерное обеспечение инженерных задач»

88

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Однако, развитие общества вызвало противоречие между потребностями феодальной власти в Однако, развитие общества вызвало противоречие между потребностями феодальной власти в развитии в первую очередь фортификационных наук, мореплавания, астрономии, торговли, и развитии в первую очередь фортификационных наук, мореплавания, астрономии, торговли, и реакционного отношения церкви к развитию других направлений науки не связанных с христианством.реакционного отношения церкви к развитию других направлений науки не связанных с христианством. Но поток золота от торговли с востоком, в первую очередь с Индией, перевесил доводы церкви. В Но поток золота от торговли с востоком, в первую очередь с Индией, перевесил доводы церкви. В первую очередь Италия, в следствии ее географического положения, особенно Генуэзская и первую очередь Италия, в следствии ее географического положения, особенно Генуэзская и Венецианские республики, затем Португалия и Испания, все шире стали возрождать античные Венецианские республики, затем Португалия и Испания, все шире стали возрождать античные знания, перенимать знания Арабского мира. знания, перенимать знания Арабского мира. Для этого им нужны были более совершенные знания в области мореплавания, Для этого им нужны были более совершенные знания в области мореплавания, кораблестроения, астрономии математики.кораблестроения, астрономии математики.

Рис. 1.7. Постройка кораблей с заранее прорезанными пушечным портами, это предполагает расчет осадки корабля до

его спуска на воду

Первый серьезный результат был Первый серьезный результат был достигнут математиком Эйлером, достигнут математиком Эйлером, создавшим первую теорию создавшим первую теорию проектирования корабля. Он успешно проектирования корабля. Он успешно решил задачу вставшую перед решил задачу вставшую перед Архимедом, и до сих пор мы пользуемся Архимедом, и до сих пор мы пользуемся его формулам численного его формулам численного интегрирования. интегрирования.

Практически все применяемые Практически все применяемые методы математических расчетов были методы математических расчетов были разработаны до 20 века. Можно назвать разработаны до 20 века. Можно назвать методы: Эйлер-1730 год, Крамер, Гаус-методы: Эйлер-1730 год, Крамер, Гаус-1840 год, Якоби-1850 год.1840 год, Якоби-1850 год.

Page 9: Дисциплина «Компьютерное обеспечение инженерных задач»

99

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Но отсутствие средств автоматизации расчетов сдерживали круг применяемых задач на Но отсутствие средств автоматизации расчетов сдерживали круг применяемых задач на практике. Наиболее сложные эксперименты, связанные с судостроением, проводились по практике. Наиболее сложные эксперименты, связанные с судостроением, проводились по прежнему на натуральных объектах.прежнему на натуральных объектах.

Так, например, выбор колеса или винта, типа паровых машин. Так, например, выбор колеса или винта, типа паровых машин.

Рис. 1.8. Натурный эксперимент: выбор что лучше гребное колесо или винт

Page 10: Дисциплина «Компьютерное обеспечение инженерных задач»

1010

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

В конце прошлого века появились опытные бассейны, начались эксперименты с моделями. В конце прошлого века появились опытные бассейны, начались эксперименты с моделями. Например, опытный бассейн в Петербурге, где выбирались оптимальные обводы кораблей. В этих Например, опытный бассейн в Петербурге, где выбирались оптимальные обводы кораблей. В этих бассейнах проигрывались различные ситуации. Например, в фильме о катастрофе Титаника на бассейнах проигрывались различные ситуации. Например, в фильме о катастрофе Титаника на модели проигрывались различные сценарии действий и возможные последствия. Примерно такие же модели проигрывались различные сценарии действий и возможные последствия. Примерно такие же эксперименты ставил в конце прошлого века адмирал С.О. Макаров, с моделью английского эксперименты ставил в конце прошлого века адмирал С.О. Макаров, с моделью английского броненосца Виктория, катастрофа которого наделала не меньше шума, чем гибель лайнера броненосца Виктория, катастрофа которого наделала не меньше шума, чем гибель лайнера Титаник.Титаник.

Рис.1.9. Иллюстрация принципа исследования модели корабля в опытном бассейне

Page 11: Дисциплина «Компьютерное обеспечение инженерных задач»

1111

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Более сложные задачи - сравнение Более сложные задачи - сравнение двигателей, шагов винтов проявившиеся придвигателей, шагов винтов проявившиеся при создании турбины Патерсона, поставилисоздании турбины Патерсона, поставили актуально вопрос о адекватности модели и актуально вопрос о адекватности модели и оригинала. Этот вопрос остро стоит и для оригинала. Этот вопрос остро стоит и для

математических моделей.математических моделей.

Аналогичный принцип используется для исследования моделей самолетов в аэродинамической Аналогичный принцип используется для исследования моделей самолетов в аэродинамической трубе. Так же определяли оптимальное расположение пропускных ворот, для комплекса защитныхтрубе. Так же определяли оптимальное расположение пропускных ворот, для комплекса защитных

сооружений Ленинграда от наводнений.сооружений Ленинграда от наводнений.

Рис. 1.10. Иллюстрация продувки модели самолета в аэродинамической

трубе

Page 12: Дисциплина «Компьютерное обеспечение инженерных задач»

1212

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

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

Рис.1.11. Аналоговая вычислительная машина

Применение математического моделирования сильно сдерживалось ресурсами ЭВМ. До 1980-х Применение математического моделирования сильно сдерживалось ресурсами ЭВМ. До 1980-х годов активно развивались методы позволяющие по упрощенным и свернутым моделям получить годов активно развивались методы позволяющие по упрощенным и свернутым моделям получить оценки тех или иных параметров или характеристик. Полные методы решения этих задач были оценки тех или иных параметров или характеристик. Полные методы решения этих задач были известны еще с середины известны еще с середины XIXXIX века, но на практике редко ими пользовались для систем выше 3-4-го века, но на практике редко ими пользовались для систем выше 3-4-го порядков из-за слишком больших затрат времени порядков из-за слишком больших затрат времени

Натурные модели Аналоговые моделиМатематические

модели

Модели

Page 13: Дисциплина «Компьютерное обеспечение инженерных задач»

1313

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Содержание дисциплины:Содержание дисциплины:•формы представления моделей;формы представления моделей;•стандартные средства MatLAB для работы с линейными и нелинейными моделями; стандартные средства MatLAB для работы с линейными и нелинейными моделями; •формулы численного интегрирования и дифференцирования и особенности их применения формулы численного интегрирования и дифференцирования и особенности их применения при организации вычислений;при организации вычислений;•определение жестких систем и вызванные проявлением жестких составляющих движений определение жестких систем и вызванные проявлением жестких составляющих движений проблемы при организации вычислений;проблемы при организации вычислений;•итерационные методы решения уравнений;итерационные методы решения уравнений;•явные и неявные методы решения систем дифференциальных уравнений;явные и неявные методы решения систем дифференциальных уравнений;•алгоритмы анализа топологии моделей;алгоритмы анализа топологии моделей;•основные принципы положенные в основу оптимизации;основные принципы положенные в основу оптимизации;•фундаментальные принципы системного подхода при построении моделей (неизбыточности, фундаментальные принципы системного подхода при построении моделей (неизбыточности, последовательного раскрытия неопределенностей, консервативности и др.);последовательного раскрытия неопределенностей, консервативности и др.);

•основные принципы распараллеливания работы вычислительных алгоритмовосновные принципы распараллеливания работы вычислительных алгоритмов..

Основные задачи дисциплины:Основные задачи дисциплины:•грамотно формировать математические и вычислительные модели;грамотно формировать математические и вычислительные модели;•оптимально выбирать вычислительные методы решения;оптимально выбирать вычислительные методы решения;•использовать MatLAB для решения инженерных задач.использовать MatLAB для решения инженерных задач.

Page 14: Дисциплина «Компьютерное обеспечение инженерных задач»

1414

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Генераторзадания

Регистрация

MatLab

выполнениезадания

Файл с ответомАвтоматическя

проверка

Отчет полабораторной

работе

Шаблон отчета

www.mts-sut.spb.ru

Методическиеуказания

Зачет по заданиюКоллоквиум по

лекции

Зачет по лабораторной работе

Зачет по дисциплине(выполнение всех лабораторных работ, сдача всех коллоквиумов)

Лекции

www.mts-sut.spb.ruСлайды к лекциям

Лабораторные работы

Теоретический материал

Разбор выполнения лабораторной работы

Регистрация

Page 15: Дисциплина «Компьютерное обеспечение инженерных задач»

1515

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Связь с другими дисциплинами учебного плана, литература по Связь с другими дисциплинами учебного плана, литература по курсукурсу

Дисциплина Дисциплина “Компьютерное обеспечение инженерных задач”“Компьютерное обеспечение инженерных задач” опирается в первую опирается в первую очередь на курс высшей математики и информатики. В целом дисциплина близка очередь на курс высшей математики и информатики. В целом дисциплина близка дисциплине “Математическое моделирование систем”, читаемой во многих высших учебных дисциплине “Математическое моделирование систем”, читаемой во многих высших учебных заведениях. заведениях.

В качестве литературы по дисциплине можно рекомендовать:В качестве литературы по дисциплине можно рекомендовать:1.1. Амисов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров. Амисов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров.

М.: Высшая школа, 1994. 546 с.М.: Высшая школа, 1994. 546 с.2.2. Егоренков Д.Л., Фрадков А.Л., Харламов В.Ю. Основы математического моделирования. Егоренков Д.Л., Фрадков А.Л., Харламов В.Ю. Основы математического моделирования.

Построения и анализ моделей с примерами на языке Построения и анализ моделей с примерами на языке MATLABMATLAB. СПб.: БГТУ. 1994. 192 с. . СПб.: БГТУ. 1994. 192 с. 3.3. Потемкин В.Г. Потемкин В.Г. MATLABMATLAB справочное пособие. М.: Диалог МИФИ, 1997. 350 с. справочное пособие. М.: Диалог МИФИ, 1997. 350 с. 4.4. С. Е. Душин, А. В. Красов, Н. Н. Кузьмин, Л. Б. Пошехонов. Численное моделирование С. Е. Душин, А. В. Красов, Н. Н. Кузьмин, Л. Б. Пошехонов. Численное моделирование

систем управления: Учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2003. 7систем управления: Учеб. пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2003. 788 с. с.

Page 16: Дисциплина «Компьютерное обеспечение инженерных задач»

1616

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Средства автоматизации инженерных расчетовСредства автоматизации инженерных расчетов В нестоящее время есть очень много математических пакетов предназначенных для В нестоящее время есть очень много математических пакетов предназначенных для

автоматизации инженерных расчетов. Их можно разделить на специальные (такие как автоматизации инженерных расчетов. Их можно разделить на специальные (такие как SimulinkSimulink, , NOCSYDNOCSYD) и универсальные, представляющие из себя математические среды программирования. К ) и универсальные, представляющие из себя математические среды программирования. К числу универсальных математических пакетов необходимо отнести числу универсальных математических пакетов необходимо отнести MATLABMATLAB, , MathCADMathCAD, , REDUCEREDUCE, , MACSYMAMACSYMA, , DERIVEDERIVE, , MAPLEMAPLE, , MathematicaMathematica, , TheoristTheorist. .

В системах компьютерной алгебры В системах компьютерной алгебры REDUCEREDUCE, , MACSYMAMACSYMA, , DERIVEDERIVE, , MAPLEMAPLE, , MathematicaMathematica, , TheoristTheorist преобладает целочисленное представление и символьная обработка данных. преобладает целочисленное представление и символьная обработка данных.

MathCADMathCAD ориентирован на естественную математическую форму записи. ориентирован на естественную математическую форму записи.

Пакет Пакет MATLABMATLAB ориентирован на работу с ориентирован на работу с реальными системами, в отличие реальными системами, в отличие перечисленных в начале пакетов на основе перечисленных в начале пакетов на основе компьютерной алгебры все действия компьютерной алгебры все действия выполняются с плавающей арифметикой. выполняются с плавающей арифметикой. Открытая архитектура пакета позволяет легко Открытая архитектура пакета позволяет легко дополнять его своими приложениями. Для дополнять его своими приложениями. Для решения проблем на стыке символьных решения проблем на стыке символьных вычислений и вычислений с плавающей точкой в вычислений и вычислений с плавающей точкой в состав системы состав системы MATLABMATLAB включен пакет включен пакет

символьных вычислений.символьных вычислений.

Рис. 1.13. Пример выполнения расчетов в пакете MathCad

Page 17: Дисциплина «Компьютерное обеспечение инженерных задач»

1717

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Возможности системы Возможности системы MATLAB MATLAB значительно расширя ется при использовании значительно расширя ется при использовании дополнительных пакетов программ, так называемых дополнительных пакетов программ, так называемых toolboxtoolbox — ящик с инструментами. — ящик с инструментами.

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

Основными Основными toolboxtoolbox являются: являются: “ “Системы управления” Системы управления” (Control System); (Control System); “ “Робастное управление” Робастное управление” (Robust Control); (Robust Control); “ “Оптимизация” Оптимизация” (Optimization);(Optimization); “ “Идентификация систем” Идентификация систем” (System Identification) (System Identification) 49,50].49,50]. “ “Сплайны” Сплайны” (Spline);(Spline); “ “Обработка сигналов” Обработка сигналов” (Signal Processing); (Signal Processing); “ “Нейронные сети” Нейронные сети” (Neural Network).(Neural Network). Если в 60-80-х годах языком программирования математических задач являлся язык Если в 60-80-х годах языком программирования математических задач являлся язык

FORTRANFORTRAN, с написанными под него громадным количеством математических библиотек, то в , с написанными под него громадным количеством математических библиотек, то в настоящее время им стал специализированная система программирования настоящее время им стал специализированная система программирования MATLABMATLAB с его системой с его системой toolboxtoolbox..

Page 18: Дисциплина «Компьютерное обеспечение инженерных задач»

1818

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Первое знакомство с Первое знакомство с MATLABMATLAB Подсказка “>>” показывает готовность системы к выполнению Ваших команд. Подсказка “>>” показывает готовность системы к выполнению Ваших команд. Набрав простейшие математические выражения в естественной форме записи Вы сразу же Набрав простейшие математические выражения в естественной форме записи Вы сразу же

получаете результат. получаете результат. <Выражение> или <Имя переменной>=<Выражение>. <Выражение> или <Имя переменной>=<Выражение>. В первом случае на самом деле результат выражения присваивается специальной В первом случае на самом деле результат выражения присваивается специальной

служебной переменной имеющей имя служебной переменной имеющей имя ansans, Вы так же можете использовать эту переменную в , Вы так же можете использовать эту переменную в расчетах. расчетах.

Если Вы не хотите что бы Если Вы не хотите что бы MATLABMATLAB выводил результаты промежуточных выражений на выводил результаты промежуточных выражений на экран, то Вам необходимо поставить в конце выражения символ “;”. экран, то Вам необходимо поставить в конце выражения символ “;”.

При наборе и редактировании При наборе и редактировании команд действуют такие же команды команд действуют такие же команды как в любом другом оконном как в любом другом оконном редакторе редакторе WindowsWindows, например в , например в блокноте. блокноте. MATLABMATLAB предоставляет предоставляет пользователю возможность пользователю возможность пролистать предыдущие команды, пролистать предыдущие команды, сделать это можно с помощью сделать это можно с помощью клавиш стрелка вверх и вниз. Вы клавиш стрелка вверх и вниз. Вы легко можете внести изменения в легко можете внести изменения в эти команды и повторно их эти команды и повторно их выполнить.выполнить.

Page 19: Дисциплина «Компьютерное обеспечение инженерных задач»

1919

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Типы данных Типы данных MATLABMATLAB

Фактически Фактически MATLABMATLAB содержит содержит один тип данных - массив или матрица один тип данных - массив или матрица (таблица). Массив это группа ячеек (таблица). Массив это группа ячеек

памяти имеющие одно имя.памяти имеющие одно имя. Рис. 1.15. Типы данных в MatLab

Локальные и глобальные переменныеЛокальные и глобальные переменные

Для указания что переменная Для указания что переменная является глобальной необходимо является глобальной необходимо указать перед ее именем описание указать перед ее именем описание globalglobal. Например . Например global Aglobal A..

Для того чтобы узнать какие переменные есть в Вашем распоряжении Вам необходимо Для того чтобы узнать какие переменные есть в Вашем распоряжении Вам необходимо вызвать команду вызвать команду whowho, по которой будет выдан список всех локальных переменных. Команда , по которой будет выдан список всех локальных переменных. Команда who globalwho global, выводит список всех глобальных переменных созданных Вами за время этого , выводит список всех глобальных переменных созданных Вами за время этого сеанса работы с сеанса работы с MATLABMATLAB..

Рис.1.15. Глобальные переменные

МассивыМассивы

Page 20: Дисциплина «Компьютерное обеспечение инженерных задач»

2020

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Простейшие действия над матрицамиПростейшие действия над матрицами Присвоение значений Присвоение значений

матрицематрице А=[1 2 3 4 5] А=[1 2 3 4 5] BB=[1=[1  ;;  33  ; 5; 5  ; 7]. ; 7].

С=[ 1 2 3 ; 4 5 6 ; 7 8 9].С=[ 1 2 3 ; 4 5 6 ; 7 8 9]. Создание матриц специального видаСоздание матриц специального вида Для генерации векторов пользователю предоставляется следующая команда:Для генерации векторов пользователю предоставляется следующая команда: <Имя вектора>=<Начальное значение>:<Шаг>:<Конечное значение>. <Имя вектора>=<Начальное значение>:<Шаг>:<Конечное значение>.

Например: Х=6 : 0. 2 : 26.Например: Х=6 : 0. 2 : 26.

В математике часто встречаются матрицы специального вида. Ниже приведен ряд из них:В математике часто встречаются матрицы специального вида. Ниже приведен ряд из них:Единичная матрицаЕдиничная матрица <Имя матрицы>=<Имя матрицы>=eyeeye(<Размер>).(<Размер>).Матрица со всеми единицамиМатрица со всеми единицами <Имя матрицы>=<Имя матрицы>=onesones(<Кол-во строк>,(<Кол-во строк>,  <Кол-во столбцов>). Например: <Кол-во столбцов>). Например: AA==onesones(6, 3).(6, 3).Нулевая матрицаНулевая матрица<Имя матрицы>=<Имя матрицы>=zeroszeros(<Кол-во строк>,(<Кол-во строк>,  <Кол-во столбцов>). Например: <Кол-во столбцов>). Например: AA==zeroszeros(6, 3).(6, 3).Случайная матрицаСлучайная матрица<Имя матрицы>=<Имя матрицы>=randrand(<Кол-во строк>,(<Кол-во строк>,  <Кол-во столбцов>). Например: <Кол-во столбцов>). Например: AA==randrand(6, 3).(6, 3).

Рис.1.16. Матрицы специального вида

Page 21: Дисциплина «Компьютерное обеспечение инженерных задач»

2121

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Доступ к ячейкам матрицыДоступ к ячейкам матрицы Для доступа к ячейкам матрицы Вам необходимо указать имя матрицы, номер строки и Для доступа к ячейкам матрицы Вам необходимо указать имя матрицы, номер строки и

номер столбца. Нумерация строк и столбцов ведется с номер столбца. Нумерация строк и столбцов ведется с единицыединицы. Номера пишутся в круглых . Номера пишутся в круглых скобках. Общий формат записи: скобках. Общий формат записи:

<Имя массива>(<Номер строки>,<Имя массива>(<Номер строки>,  <Номер столбца>). <Номер столбца>).

Например Например AA(1,2).(1,2). Простейшие действия над матрицамиПростейшие действия над матрицами Умножение матрицы на скаляр.Умножение матрицы на скаляр. В математики для всех матриц определена операция В математики для всех матриц определена операция

умножения матрицы на скаляр (число). Все значения матрицы в этом случае умножаются на это число.умножения матрицы на скаляр (число). Все значения матрицы в этом случае умножаются на это число.

Сложение, вычитание скаляра из матрицы.Сложение, вычитание скаляра из матрицы. Кроме операции умножения матрицы на скаляр Кроме операции умножения матрицы на скаляр для матрицы и скаляра определены операции сложение и вычитания. Действия так же выполняются для матрицы и скаляра определены операции сложение и вычитания. Действия так же выполняются с каждой ячейкой матрицы отдельно. Пример:с каждой ячейкой матрицы отдельно. Пример:

Сложение матриц (вычитание).Сложение матриц (вычитание). Эта операция допустима только с матрицами одинакового Эта операция допустима только с матрицами одинакового размера. При выполнении операции действие выполняется с соответствующими друг другу ячейками. размера. При выполнении операции действие выполняется с соответствующими друг другу ячейками.

Пример:Пример:

Page 22: Дисциплина «Компьютерное обеспечение инженерных задач»

2222

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Произведение матриц Произведение матриц При выполнении операции перемножения матриц выполняется последовательное умножение При выполнении операции перемножения матриц выполняется последовательное умножение

строки на вектор. При этом количество столбцов в первой матрице должно равняться количеству строки на вектор. При этом количество столбцов в первой матрице должно равняться количеству строк во второй матрице. Матрица результата будет иметь количество столько же строк сколько и в строк во второй матрице. Матрица результата будет иметь количество столько же строк сколько и в первой матрице, и количество столбцов равное количеству столбцов во второй матрице. первой матрице, и количество столбцов равное количеству столбцов во второй матрице.

Page 23: Дисциплина «Компьютерное обеспечение инженерных задач»

2323

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Присвоение матрице математического выражения Присвоение матрице математического выражения Организация всех переменных системы Организация всех переменных системы MATLABMATLAB как матрицы вызывает следующие как матрицы вызывает следующие

ограничения применения их в выражениях. На пример: ограничения применения их в выражениях. На пример: t = 1 : 5t = 1 : 5t = 1 2 3 4 5t = 1 2 3 4 5y = cos(t)y = cos(t)y = 0.5403 -0.4161 -0.9900 -0.6536 0.2837y = 0.5403 -0.4161 -0.9900 -0.6536 0.2837z = y / tz = y / tz z == – 0.0811 – 0.0811 Результат - получается одно число, а ожидали функцию Результат - получается одно число, а ожидали функцию zz((tt)=)=coscos((tt)/)/tt.. Для организации поэлементного деления одного массива на другой, в Для организации поэлементного деления одного массива на другой, в MATLABMATLAB

предусмотрена специальная операция - “предусмотрена специальная операция - “../” - поэлементное деление./” - поэлементное деление. Результат этого выражения будет другой:Результат этого выражения будет другой:z z = = y y ../ / ttz z = 0.5403 -0.2081 -0.3300 -0.1634 0.0567= 0.5403 -0.2081 -0.3300 -0.1634 0.0567

Page 24: Дисциплина «Компьютерное обеспечение инженерных задач»

2424

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Вывод одного графикаВывод одного графика MATLABMATLAB предоставляет следующие функции для работы с графикой: предоставляет следующие функции для работы с графикой:plotplot(<Массив>) - построение графика значений из массива Х от номера отсчета. (<Массив>) - построение графика значений из массива Х от номера отсчета. plotplot(<Массив точек по оси Х>,<Массив точек по оси (<Массив точек по оси Х>,<Массив точек по оси YY>) - построение графика >) - построение графика

значений из массива значений из массива YY от значений из массива Х. от значений из массива Х. При вызове команды создается окно с указанным графиком. При вызове команды создается окно с указанным графиком.

Вывод нескольких графиков Вывод нескольких графиков Для вывода нескольких графиков на одном окне Вам необходимо указать их Для вывода нескольких графиков на одном окне Вам необходимо указать их

последовательно, например: последовательно, например: t = –10 : 0.1 : 10 ;t = –10 : 0.1 : 10 ;x1 = sin(t) ;x1 = sin(t) ;x2 = cos(t)x2 = cos(t) . ./ t ;/ t ;plotplot((tt,,xx1,1,tt,,xx2) 2)

Page 25: Дисциплина «Компьютерное обеспечение инженерных задач»

2525

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

На графике (рис.1.16) представлены графики функций На графике (рис.1.16) представлены графики функций yy==sinsin((tt)/)/t t и (и (xx/5)2+/5)2+yy2=1. Как не трудно 2=1. Как не трудно

заметить данные функции имеют три точки пересечения.заметить данные функции имеют три точки пересечения.

Графический метод решения уравненийГрафический метод решения уравнений Вывод на экран сразу нескольких графиков предоставляет простейший способ найти Вывод на экран сразу нескольких графиков предоставляет простейший способ найти

приблизительное значение решения.приблизительное значение решения.

Page 26: Дисциплина «Компьютерное обеспечение инженерных задач»

2626

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Поиск решения уравнения Поиск решения уравнения Графическим методом можно лишь примерно оценить решение. Для более точного Графическим методом можно лишь примерно оценить решение. Для более точного

нахождения решения в пакете нахождения решения в пакете MatLABMatLAB необходимо воспользоваться функцией необходимо воспользоваться функцией fsolvefsolve(уравнение, (уравнение, начальное значение).начальное значение). Позже мы познакомимся как с помощью данной функции решать системы Позже мы познакомимся как с помощью данной функции решать системы уравнений. В простейшем случае решаемое уравнение можно указать можно указать в одинарных уравнений. В простейшем случае решаемое уравнение можно указать можно указать в одинарных кавычках, например: кавычках, например: 'x*x-abs(x)'. 'x*x-abs(x)'. Но данная функция имеет три решения, представленных на Но данная функция имеет три решения, представленных на рис.1.17.рис.1.17.

Функция Функция fsolve fsolve продолжает итерационную процедуру до тех пор пока она не найдет решение с продолжает итерационную процедуру до тех пор пока она не найдет решение с заданной точностью. По этому в нашем примере мы и получили заданной точностью. По этому в нашем примере мы и получили 7.9062e-008 7.9062e-008 а не а не 00. .

В случае более сложных функций их удобнее представить в виде В случае более сложных функций их удобнее представить в виде MM файла. Тогда в качестве файла. Тогда в качестве первого параметра функции первого параметра функции fsolvefsolve подставляется в одинарных кавычках имя этого файла. подставляется в одинарных кавычках имя этого файла.

Решение, которое найдет в этом случае Решение, которое найдет в этом случае функция функция fsolve fsolve будет определяться будет определяться начальным значением откуда она начнет начальным значением откуда она начнет итерационную процедуру поиска решения. итерационную процедуру поиска решения. НапримерНапример::fsolve('x*x-abs(x)',-2), ans = -1.0000; fsolve('x*x-abs(x)',-2), ans = -1.0000; fsolve('x*x-abs(x)',0.6), ans = 1.0000;fsolve('x*x-abs(x)',0.6), ans = 1.0000;fsolve('x*x-abs(x)',0.4), ans = 7.9062e-008fsolve('x*x-abs(x)',0.4), ans = 7.9062e-008..

Page 27: Дисциплина «Компьютерное обеспечение инженерных задач»

2727

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Элементы программирования в пакете Элементы программирования в пакете MATLABMATLAB Программирование в системе Программирование в системе MatLABMatLAB очень близко к обычному программированию. очень близко к обычному программированию.

Программа создается в любом текстовом редакторе. Файл должен иметь расширение *.Программа создается в любом текстовом редакторе. Файл должен иметь расширение *.MM. Для того . Для того чтобы Вы могли вызвать его из любого места он должен размещаться в одном из каталогов чтобы Вы могли вызвать его из любого места он должен размещаться в одном из каталогов перечисленных в конфигурационном файле перечисленных в конфигурационном файле MATLABRCMATLABRC..MM. К строкам . К строкам matlabpathmatlabpath =[...’путь’,...,’путь’] ; =[...’путь’,...,’путь’] ; необходимо по аналогии добавить путь до своего рабочего каталога. необходимо по аналогии добавить путь до своего рабочего каталога.

Для вызова Для вызова MM файла необходимо набрать его имя в командной строке файла необходимо набрать его имя в командной строке MatLABMatLAB, и если , и если необходимо его аргументы. необходимо его аргументы.

Важным элементом облегчающим программирование являются комментарии. Строка Важным элементом облегчающим программирование являются комментарии. Строка

комментария начинается в комментария начинается в MatLABMatLAB символом ‘ символом ‘%%’.’.

Page 28: Дисциплина «Компьютерное обеспечение инженерных задач»

2828

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Проверка условия Проверка условия Оператор проверки условия позволяет организовать разветвление исполнения программы. Оператор проверки условия позволяет организовать разветвление исполнения программы.

Внешний вид оператора представлен на рис.1.18.Внешний вид оператора представлен на рис.1.18.

Рис. 1.18. Блок-схема условного оператора: редуцированная и полная формы

Page 29: Дисциплина «Компьютерное обеспечение инженерных задач»

2929

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Формат записи оператора, редуцированная форма:Формат записи оператора, редуцированная форма:if if условие условие операторы операторы endend

полная форма:полная форма:if if условиеусловие операторы операторы elseelse операторы операторы endend

Обращаю Ваше внимание что в отличие от современных языков программирования не Обращаю Ваше внимание что в отличие от современных языков программирования не используются такое понятие как составной оператор. Блок условного оператора обязательно используются такое понятие как составной оператор. Блок условного оператора обязательно заканчивается служебным словом заканчивается служебным словом endend..

Пример:Пример:dd==bb^2-4*^2-4*aa**cc ; ;if d<0if d<0 ‘ ‘ корнейкорней нетнет’’elseelse x1=( –b + sqrt(d)) / (2*a)x1=( –b + sqrt(d)) / (2*a) x2=( –b – sqrt(d)) / (2*a)x2=( –b – sqrt(d)) / (2*a)end end

Использованная в данном фрагменте текстовая строка, заключенная в одиночные кавычки Использованная в данном фрагменте текстовая строка, заключенная в одиночные кавычки выводится на экран:выводится на экран:

ans =ans =

корней неткорней нет

Page 30: Дисциплина «Компьютерное обеспечение инженерных задач»

3030

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Цикл с известным количеством повторенийЦикл с известным количеством повторений

Формат оператора:Формат оператора:for for переменная = начальное значение : [шаг :] конечное значениепеременная = начальное значение : [шаг :] конечное значение операторыоператорыendend

Поле шаг в конструкции оператора не является обязательным. НапримерПоле шаг в конструкции оператора не является обязательным. Например::for i=1 : 100 for i=1 : 100 x(i) = sin(2*PI*i /100) ;x(i) = sin(2*PI*i /100) ;endend

Допустимо задание переменной цикла в виде вектора:Допустимо задание переменной цикла в виде вектора:for i= [1 2 4 8 16 32] for i= [1 2 4 8 16 32] x(i) = sin(2*PI*i /100) ;x(i) = sin(2*PI*i /100) ;endend

Page 31: Дисциплина «Компьютерное обеспечение инженерных задач»

3131

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

При работе с циклом При работе с циклом forfor допустимо использование оператора прерывания цикла допустимо использование оператора прерывания цикла breakbreak..

Рис. 1.20. Иллюстрация использования оператора break

Page 32: Дисциплина «Компьютерное обеспечение инженерных задач»

3232

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Кроме команды Кроме команды break break для управления работой цикла может использоваться команда для управления работой цикла может использоваться команда continuecontinue. .

Рис. 1.21. Иллюстрация работы команды continue

Page 33: Дисциплина «Компьютерное обеспечение инженерных задач»

3333

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Цикл с неизвестным количеством повторенийЦикл с неизвестным количеством повторений

Рис. 1.22. Блок-схема цикла while Формат оператора цикла с неизвестным количеством повторений:Формат оператора цикла с неизвестным количеством повторений:

while while условиеусловие операторыоператорыendend

Тело цикла обязательно заканчивается служебным словом Тело цикла обязательно заканчивается служебным словом endend. . Например, программа определения точности вычислений:Например, программа определения точности вычислений:

a=1 ;a=1 ;while a+1 != 1while a+1 != 1 a=a/2 ;a=a/2 ;endenda a

Последняя строчка программы выведет на экран значение переменной Последняя строчка программы выведет на экран значение переменной аа..

Page 34: Дисциплина «Компьютерное обеспечение инженерных задач»

3434

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Создание собственных функцийСоздание собственных функций

Шаблон описания функции в Шаблон описания функции в MatLAB MatLAB выглядит следующим образом: выглядит следующим образом: function function результат = имя ( аргументы )результат = имя ( аргументы ) операторыоператоры Первая строчка является обязательной, указывающий что это функциональный Первая строчка является обязательной, указывающий что это функциональный MM файл. файл.

После нее располагаются операторы - тело функции. После нее располагаются операторы - тело функции. Имя функции обязательно должно совпадать с именем файла в котором она размещается. Имя функции обязательно должно совпадать с именем файла в котором она размещается.

Пример:Пример: function y=minf(x, n) function y=minf(x, n) y=x(1) ;y=x(1) ; for i=1:nfor i=1:n

if x(i)<yif x(i)<y yy==xx((ii) ;) ;endend

endend Если из функции необходимо вернуть несколько значений (или массивов), то они Если из функции необходимо вернуть несколько значений (или массивов), то они

перечисляются в прямоугольных скобках. перечисляются в прямоугольных скобках. function [y, k]=minf(x, n) function [y, k]=minf(x, n) y=x(1) ;y=x(1) ; k=1;k=1; for i=1:nfor i=1:n

if x(i)<yif x(i)<y y=x(i) ;y=x(i) ; k=i ;k=i ;endend

endend

Page 35: Дисциплина «Компьютерное обеспечение инженерных задач»

3535

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Лабораторная работа №1Лабораторная работа №1

Лабораторная работа №1 имеет два этапа и коллоквиум по предшествующей лекции. Коллоквиум Лабораторная работа №1 имеет два этапа и коллоквиум по предшествующей лекции. Коллоквиум имеет собственную систему регистрации и выполняется индивидуально каждым из студентов отдельно. имеет собственную систему регистрации и выполняется индивидуально каждым из студентов отдельно. Структура лабораторной работы приведена на рис. 1.23.Структура лабораторной работы приведена на рис. 1.23.

Регистрация

Этап II. Преобразованиесигналов нелинейными

устройствами

Этап I. Решение уравнений Коллоквиум

Регистрация

Рис. 1.23. Структура лабораторной работы №1

Page 36: Дисциплина «Компьютерное обеспечение инженерных задач»

3636

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Этап Этап II. Решение уравнений. Решение уравненийНа первом этапе Вам предлагается найти точки пересечения графиков функций. На первом этапе Вам предлагается найти точки пересечения графиков функций. xx = –2 : 0.5 : 4 ; = –2 : 0.5 : 4 ; % создаем вектор точек по оси % создаем вектор точек по оси XXyy1 = 1 = aa1*1*xx.^3 + .^3 + bb1*1*xx.^2+.^2+cc1*1*xx++dd1 ;1 ; % точки первого графика % точки первого графика yy2 = 2 = aa2*2*xx.^3 + .^3 + bb2*2*xx.^2+.^2+cc2*2*xx++dd2 ;2 ; % точки второго графика % точки второго графика plotplot( ( xx, , yy1, 1, xx, , yy22) % строим графики двух функций) % строим графики двух функций

Рис. 1.24. Поиск решений графическим методом После этого используя функцию После этого используя функцию fsolvefsolve() осуществляем поиск решений с заданной () осуществляем поиск решений с заданной

точностью: точностью: A(1) = fsolve(‘a1*x^3+b1*x^2+c1*x+d –(a2*x^3+b2*x^2+c2*x+d2)’, x01) A(1) = fsolve(‘a1*x^3+b1*x^2+c1*x+d –(a2*x^3+b2*x^2+c2*x+d2)’, x01) ……A(k) = fsolve(‘a1*x^3+b1*x^2+c1*x+d –(a2*x^3+b2*x^2+c2*x+d2)’, x0k) A(k) = fsolve(‘a1*x^3+b1*x^2+c1*x+d –(a2*x^3+b2*x^2+c2*x+d2)’, x0k)

Обратите внимание, что в этом случае Обратите внимание, что в этом случае x x не является вектором.не является вектором.

Page 37: Дисциплина «Компьютерное обеспечение инженерных задач»

3737

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Этап Этап IIII. Преобразование сигналов нелинейными устройствами. Преобразование сигналов нелинейными устройствами Во время выполнения второго этапа Вам необходимо преобразовать сигнал нелинейным Во время выполнения второго этапа Вам необходимо преобразовать сигнал нелинейным элементом, заданным интервальной функцией. элементом, заданным интервальной функцией.

Входной сигнал Выходной сигналНелинейный

элемент

Рис. 1.25. Схема выполнения второго этапа

Page 38: Дисциплина «Компьютерное обеспечение инженерных задач»

3838

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

x2

y1

x1 x

y

y2

Например, для нелинейного элемента, представленного на рис. 1.26 Вам Например, для нелинейного элемента, представленного на рис. 1.26 Вам необходимо составить систему уравнений вида:необходимо составить систему уравнений вида:

2;2

21;1)1(*)12/()1(

1;1

xxy

xxxyxxxxyy

xxy

y

Создаем алгоритм функции, реализующий данное преобразование (рис. Создаем алгоритм функции, реализующий данное преобразование (рис. 1.27).1.27).

Рис. 1.26. Заданный вид нелинейного элемента

Page 39: Дисциплина «Компьютерное обеспечение инженерных задач»

3939

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Да

x

x<x1

y = y1x<x2Да

y = y1 +(y2-y1)/(x2-x1)*(x-x1)

y = y2

x

Рис. 1.27. Блок-схема алгоритма функции описывающей нелинейный элемент

function y = prim( x )function y = prim( x )if x < x1if x < x1 y = y1 ;y = y1 ;elseelse if x < x2if x < x2 y = y1 + (y2–y1) / (x2–x1)*(x–y = y1 + (y2–y1) / (x2–x1)*(x–

x1) ;x1) ; elseelse y = y2 ;y = y2 ; endendendend

Page 40: Дисциплина «Компьютерное обеспечение инженерных задач»

4040

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Если функция сохранена в Вашем рабочем каталоге группы, то необходимо проложить путь Если функция сохранена в Вашем рабочем каталоге группы, то необходимо проложить путь до этого каталога: до этого каталога:

path( matlabpath, ‘e:\stud\mi411’). path( matlabpath, ‘e:\stud\mi411’). Рекомендуется проверить правильность работы функции, для этого предлагается вызвать Рекомендуется проверить правильность работы функции, для этого предлагается вызвать

функцию в узловых точках нелинейной характеристики, например: функцию в узловых точках нелинейной характеристики, например: primprim( 6.( 6.33 ). ).

После этого, формируем точки входного сигнала и в цикле последовательно пропускаем их После этого, формируем точки входного сигнала и в цикле последовательно пропускаем их через созданную функцию нелинейного элемента: через созданную функцию нелинейного элемента:

dtdt = ( = ( tendtend – – tt0 ) / (0 ) / (NN – 1) ; – 1) ; % рассчитываем значение шага между точками % рассчитываем значение шага между точками tt = = tt0 : 0 : dtdt : : tendtend ; ; % формируем вектор значений % формируем вектор значений uu = = aa1*1*sinsin((ww1*1*tt + + ff1)+1)+aa2*2*sinsin((ww2*2*tt + + ff2) +2) +ee ; ; % рассчитываем входной сигнал % рассчитываем входной сигнал for i = 1 : Nfor i = 1 : N yy = = primprim( ( uu((ii) )) ) ; % преобразуем отсчеты входного сигнала нелинейным элементом ; % преобразуем отсчеты входного сигнала нелинейным элементом endend

plotplot((tt, , uu, , tt, , yy)) % строим график входного и выходного сигналов % строим график входного и выходного сигналов

Кроме того, рекомендуется построить график вольт/амперной характеристики нелинейного Кроме того, рекомендуется построить график вольт/амперной характеристики нелинейного элемента по массивам входного и выходного сигналов: элемента по массивам входного и выходного сигналов:

plot( u, y )plot( u, y )..

Page 41: Дисциплина «Компьютерное обеспечение инженерных задач»

4141

«Компьютерное обеспечение инженерных задач» к.т.н., доцент Красов А.В.

Иллюстрация физического смысла Иллюстрация физического смысла II II этапа лабораторной работы приведена на рис. 1.28. этапа лабораторной работы приведена на рис. 1.28.

t

t

u

y

Входной сигнал

Выходной сигнал

Рис. 1.28. Иллюстрация II этапа лабораторной работы