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

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

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

Компьютерные технологии в медико-биологической практике

2019-06-06 447
Компьютерные технологии в медико-биологической практике 0.00 из 5.00 0 оценок
Заказать работу

Компьютерные технологии в медико-биологической практике

Часть 2. MATLAB

Оглавление

 

Лабораторная работа № 9. Создание персональной рабочей среды в системе MATLAB.. 2

 

Лабораторная работа № 10. Операции с векторами и матрицами в системе MATLAB.. 8

 

Лабораторная работа № 11. Использование m-файлов в системе MATLAB.. 13

 

Лабораторная работа № 12. Численное интегрирование и дифференцирование в MATLAB 21

 

Лабораторная работа № 13. Символьные вычисления в пакете MATLAB.. 28

 

Лабораторная работа № 14. Создание графического пользовательского интерфейса. 36

 

Лабораторная работа № 15. Начало работы, построение простой модели в системе Simulink 51

 

Лабораторная работа № 16. Моделирование структурных схем в системе Simulink. 62

 

Лабораторная работа № 17. Подсистемы Simulink. Маскирование. 65

 

Список литературы.. 72

 


Лабораторная работа № 9. Создание персональной рабочей среды в системе MATLAB

Часа

Цель занятия: изучение интерфейса пользователя системы MATLAB и основ работы с системой в режиме прямых вычислений.

Порядок выполнения

Задание 1.

В командном окне задать значения переменных, согласно варианту задания, представленному в таблице 1.6. Записать выражение на языке MATLAB. Вывести  результат в форматах short, short e, long, long e.

 

 

Таблица 1.6 Варианты заданий

 

Выражение Переменные
1 2 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

 

Содержание отчета

1. Цель работы.

2. Скриншоты MATLAB экрана с расчетами и выводом результатов.

1.4 Контрольные вопросы

1. Для чего служит команда HELP?

2. Перечислите основные команды MATLAB для работы в режиме прямых вычислений.

3. С помощью какой команды устанавливается формат чисел?

4. Перечислите основные системные переменные MATLAB.

5. Приведите примеры математических функций системы MATLAB.


 

Лабораторная работа № 10. Операции с векторами и матрицами в системе MATLAB

Часа

 

Цель занятия: изучение реализации средствами системы MATLAB основных операций с векторами и матрицами.

 

Порядок выполнения

 

1. Ввод с клавиатуры векторов и матриц.

Ввести:

– произвольную вектор-строку (v), размерность 2;

– произвольный вектор-столбец (w), размерность 2;

– произвольную матрицу (m), размерности 2×2.

2. Генерация матриц специального вида.

Создать:

2.1 матрицу с нулевыми элементами (m0), размерности 2×2;

2.2 матрицу с единичными элементами(m1), размерности 2×2;

2.3 матрицу с элементами, имеющими случайные значения(mr), размерности 2×2;

2.4 матрицу с единичными диагональными элементами(me), размерности 2×2.

3. Вычислить матрицу M по формуле, представленной в таблице 2.5.

4. Изучение функций обработки данных:

4.1 определение числа строк и столбцов матрицы M;

4.2 определение максимального элемента матрицы M;

4.3 определение минимального элемента матрицы M;

4.4 суммирование элементов матрицы M;

4.5 перемножение элементов матрицы M.

 

Таблица 2.5 Варианты заданий

№ варианта З адание № варианта Задание
1 M=v*w+m+mr*me 11 M=m*w+mr*v’
2 M=m+mr*me 12 M=m*mr+w*v
3 M=(v/m)*(mr+me) 13 M=m+mr–100
4 M=w*v+mr*me 14 M=v’+w+mr*w
5 M=m*mr+me 15 M=m+m1’*me’
6 M=m.*mr+100 16 M=(v/m)*(mr+me)
7 M=v*w+mr–m 17 M=v*mr+v*m1
8 M=m+mr*me–10 18 M=m’+mr/100
9 M=m*w+mr*v' 19 M=10*v+w’*mr*m
10 M=m’+mr*me 20 M=m’+mr*me

 

Содержание отчета

 

1. Цель работы.

2. Описание ввода с клавиатуры векторов и матриц.

3. Описание команд генерации матриц специального вида.

4. Описание основных функций обработки данных.

5. Скриншоты MATLAB экрана с расчетами и выводом результатов.

 

2.4 Контрольные вопросы

1. Как осуществляется ввод вектора–строки?

2. Как осуществляется ввод вектора–столбца?

3. Как осуществляется ввод матрицы?

4. Для чего служит команды zeros, ones, rand, eye?

5. Как определяется число строк и столбцов матрицы?

6. Какие операции служат для определения минимального и максимального элемента матрицы?

 


 

Часа

 

Цель занятия: ознакомиться с операциями отношения, логическими операциями и условными операторами, приобрести навыки их использования при разветвленных вычислениях.

 

End

Операторы (тело выражения) выполняются только в том случае, если условие истинно, если условие ложно, то тело выражения не выполняется.

2) if < условие >

< операторы 1 >

else

< операторы 2 >

end

Если ход программы должен изменяться в зависимости от нескольких условий, то следует использовать полную конструкцию if-elseif-else. Каждая из ветвей elseif в этом случае должна содержать условие выполнения блока операторов, размещенных после нее. Важно понимать, что условия проверяются подряд, первое выполненное условие приводит к работе соответствующего блока, выходу из конструкции if-elseif-else и переходу к оператору, следующему за end. У последней ветви else не должно быть никакого условия. Операторы, находящиеся между else и end, работают в том случае, если все условия оказались невыполненными. Например, требуется написать файл-функцию для вычисления кусочно-заданной функции:

 

 

Рисунок 3.4 – Листинг программы для вычисления значения функции

 

В системе MATLAB могут применяться следующие операторы сравнения, приведенные в таблице 3.2.

Таблица 3.2 Операторы сравнения

Символ Назначение Имя функции
< Меньше lt
>= Больше или равно ge
> Больше gt
<= Меньше или равно le
== Равно eq
~= Не равно ne

 

Операции (==, ~=) проводят сравнение вещественных и мнимых частей комплексных чисел, а операции (>, <, >=, <=) – только вещественных частей.

Логические операции можно записывать в виде функций (табл. 3.3).

 

Таблица 3.3 Логические операции

Символ Назначение Имя функции
& Логическое «и» and
| Логическое «или» or
~ Отрицание not

 

Результатом логических операций являются числа 0 (false) и 1(true).

В системе MATLAB есть две разновидности операторов цикла – условный и арифметический. Для повторения операторов нефиксированное число раз используется оператор цикла с предусловием:

while < условие >

< операторы >

End

Операторы выполняются, если переменная < условие > имеет ненулевые элементы.

Арифметический оператор цикла имеет следующий вид:

for <имя> = <НЗ>: <Шаг>: <КЗ>

< операторы >

end,

где <имя> – имя управляющей переменной цикла,

<НЗ> – начальное значение управляющей переменной,

<КЗ> – конечное значение управляющей переменной,

 <Шаг> – приращение значений переменной <имя> в ходе ее изменения от значения <НЗ> до значения <КЗ>. Если параметр <Шаг> не указан, по умолчанию его значение принимается равным единице.

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

Ход работы программы может определяться значением некоторой переменной (переключателя). Такой альтернативный способ ветвления программы основан на использовании оператора переключения switch.. Оператор switch содержит блоки, начинающиеся со слова case, после каждого case записывается через пробел то значение переключателя, при котором выполняется данный блок. Последний блок начинается со слова otherwise, его операторы работают в том случае, когда ни один из блоков case не был выполнен. Если хотя бы один из блоков case выполнен, то происходит выход из оператора switсh и переход к оператору, следующему за end.

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

 

 

Рисунок 3.5 – Листинг программы

 

Для остановки программы используется оператор pause. Он используется в следующих формах:

a) pause — останавливает вычисления до нажатия любой клавиши;

b) pause(N) — останавливает вычисления на N секунд;

c) pause on — включает режим отработки пауз;

d) pause off — выключает режим отработки пауз.

Порядок выполнения

 

1. Из файла-сценария с помощью функции диалогового ввода ввести с клавиатуры все необходимые данные. Выполнить расчет с использованием условных операторов и вывести результаты в командное окно (таблица 3.4).

 

Таблица 3.4 Варианты заданий

№ в арианта Задание
1 2
1 Найти сумму положительных из четырех заданных переменных.
2 Найти максимальное значение из четырех заданных переменных и вывести ее.
3 Заданы четыре переменные. Наименьшую из них заменить на сумму остальных.
4 Заданы четыре переменные. Подсчитать количество отрицательных и количество нулевых из них.
5 Найти произведение отрицательных из четырех заданных переменных.
6 Заданы две фигуры: квадрат задан длиной стороны, а круг – длиной радиуса. Определить, какая из них имеет большую площадь и во сколько.
7 Заданы четыре переменные. Все отрицательные из них заменить абсолютными значениями и увеличить в 2 раза.
8 Заданы четыре переменные, подсчитать количество равных нулю, положительных и отрицательных.
9 Даны четыре переменные. Найти среди них переменные, наиболее близкие по значению к .
10 Заданы четыре переменные. Все положительные из них заменить отрицательными значениями, умноженными на 5.
11 Найти минимальное и максимальное значения из четырех заданных переменных.
12 Заданы четыре значения. Определить какие из них целые.
13 Заданы четыре переменные. Подсчитать количество и произведение значений, попавших в интервал [1 5].
14 Заданы четыре переменные. Подсчитать количество отрицательных и количество нулевых из них.
15 Найти произведение отрицательных из четырех заданных переменных.

 

2. Написать файл-функцию с использованием операторов ветвления и циклов, на основании вариантов задания, представленных в таблице 3.5.

 

Таблица 3.5 Варианты заданий

Вход.ма-ссив Формируемый массив Задача
1 2 3 4
1 Сформировать массив А 1 из минимальных элементов строк матрицы А и массив В 1 из минимальных элементов строк матрицы В. Среди элементов А 1 и В 1 найти максимальный
2 Сформировать массив С – сумму элементов массивов А и В. Найти максимальное значение массивов А, В, С.
3 Определить минимальные элементы в матрицах А и В (m А и m В). Вычислить С = А * В * m А * m В.
4 Сформировать массив А 1 из максимальных элементов строк матрицы А и массив В 1 из максимальных элементов строк матрицы В. Упорядочить массив А 1 по возрастанию, а массив В 1 – по убыванию.
5 Определить максимальные элементы в матрице А и массиве В (m А и m В). Вычислить С = А * В * m А * m В.
6 Сформировать массив А 1 из средних значений элементов строк матрицы А. Упорядочить массив А 1 по возрастанию, а В – по убыванию. Осуществить поэлементное умножение А 1 и В.
7 Заменить строку матрицы А, содержащую максимальный элемент, массивом В. Вычислить сумму элементов полученной матрицы.
8 Массив А упорядочить по возрастанию и заменить им последнюю строку матрицы В.
9 Упорядочить по возрастанию массивы А и В. Осуществить поэлементное деление упорядоченных массивов. Определить произведение элементов результирующего массива.
10 Вычислить произведение элементов матрицы А (рА) и сумму элементов матрицы В (сВ). Вычислить матрицу С = рА * сВ * А * В '.
11 Определить минимальные элементы в матрицах А и В (m А и m В). Вычислить С = А * В * m А * m В.
12 Сформировать массив А 1 из максимальных элементов строк матрицы А. Осуществить поэлементное умножение А 1* В. Упорядочить массив А 1 по возрастанию.
13 Заменить строку матрицы А, содержащую минимальный элемент, массивом В. Вычислить произведение элементов полученной матрицы.
14 Массив А упорядочить по убыванию и заменить им первую строку матрицы В.
15 Сформировать массив С – произведение элементов массивов А и В. Найти максимальные и минимальные значения массивов А, В, С.

Содержание отчета

1. Цель занятия.

2. Листинг программ и результаты выполнения программ.

 

3.4 Контрольные вопросы

1. Как осуществляется диалоговый ввод и вывод?

2. Для чего используются условные операторы?

3. Чем отличаются файлы-сценарии от файлов-функций?

 

 


 

Часа

 

Цель занятия: изучение основных способов решения ОДУ. 

 

Порядок выполнения

 

1. На отрезке [ a, b ] найти решение дифференциального уравнения в виде  с начальными условиями , . Варианты заданий представлены в таблице 6.2. Построить график функции.

 

Таблица 6.2– Варианты заданий

№ варианта

Начальные условия

a b
1 2 3 4 5 6
1 1 5 0 0
2 2 3 1 0
3 0 1 0 0
4 0 1 0 1
5 2 4 0 0
6 1 3 0 0
7 1 2 0 0
8 0 3 0 1
9 2 4 0 1
10 0 1.5 1 0
11 -3 -2 1 1
12 2 4 0 0
13 1 5 1 1
14 0 1 0 1
15 0 1 0 0

 

4. Решить систему ОДУ, представленную в таблице 6.3, при заданных начальных условиях с помощью функции dsolve.

 

Таблица 6.3 Варианты заданий

 

№ варианта

Система ОДУ

Начальные условия

1 2 3 4 5 6
1 1.5 1.5 1 1
2 -1 1 -1.5 3
3 1.5 1.5 1 1
4 1 1.5 0 2
5 0.5 1.5 -1 2
6 0.5 2 1 2
7 5 5 -1 1
8 1.5 1 3 1
9 2 0 -1 1
10 -1 2 -1.5 0
11 1.5 1.5 -1 -1
12 -1 1.5 0 2
13 0.5 1 -1 2
14 0 -2 0 2
15 3 3 -1 1

 

Содержание отчета

1. Цель занятия.

2. Листинг программы.

3. Результаты выполнения.

 

6.4 Контрольные вопросы

 

1. Какие существуют методы решения систем дифференциальных уравнений?

2. Какие шкалы могут иметь графики?

3. С помощью какой команды осуществляется построение графиков в полярной системе координат?

4. Для чего служит команда mesh?

5. Как осуществляется построение столбцовой диаграммы?

6. Как осуществляется задание надписей?

7. Для чего используется команда grid?

8. С помощью какой команды устанавливается масштаб?

9. Для чего служит команда contour?

10. Как осуществляется разбивка окна на меньшие окна?

11. Для чего используется команда hold?

 

 


 

Часа

 

Цель занятия: ознакомиться с возможностями системы MATLAB в решении типовых задачах алгебры и анализа, изучение встроенного пакета символьных вычислений и операций Symbolic Math Toolbox.

 

Порядок выполнения

 

1. Составить и отладить программы для нахождения корней уравнения f1 (x) = 0 и f2 (x) = 0 и вывести графики функции на основании задания из таблицы 5.1.

2. Найти определенный интеграл для подынтегральной функции, заданной в таблице 5.2.

 

Таблица 5.1– Варианты заданий для нахождения корней уравнения

№ варианта

– полином 3-ей степени с коэффициентами a

1 2 3 4 5 6
1 0 -1 4 -1
2 0 2 -2 -15
3 0 1 4 -1
4 0 9 -8 -70
5 0 -4 4 50
6 1 -5 4 40
7 2 -3 2 30
8 3 -6 1 50
9 4 -9 1 70
10 5 -7 5 60
11 -1 -4 9 60
12 -2 -6 -7 55
13 -3 -9 -8 75
14 -4 7 8 -75
15 -5 1 4 -1

 

Таблица 5.2 – Варианты функций для нахождения значения интеграла

№ варианта

Функция

Интервал интегрирования

начало интервала конец интервала
1 2 3 4
1 -2 2
2 -2 2
3 -2 2
4 -2 2
5 -0.5 4.5
6 -1.4 1.4
7 -5 5
8 -5 15
9 -4 2
10 -2 2
11 -2 2
12 -2 5
13 -1 1
14 -2 2
15 -2 2

 

3. Найти определенный интеграл для подынтегральной функции, заданной в таблице 5.2 с использованием пакета символьных вычислений.

 

Содержание отчета

1. Цель занятия.

2. Листинг программы и результаты выполнения.

 

5.4 Контрольные вопросы

 

1.Для чего служит функция fmin?

2. Для чего служит функция fzero?

4. Перечислите основные внешние расширения системы MATLAB для поиска экстремумов функций.

5. Какая функция служит для вычисления определенного интеграла?

6. Назовите функции работы с символьными переменными.

 


 

Часа

 

Цель работы: научиться создавать приложения с графическим пользовательским интерфейсом в MATLAB.

 

Задание

Необходимо спроектировать интерфейс пользователя в среде GUIDE.

Определить функцию f(x) из таблицы 7, вычислить ее значение при х=3 и вывести на экран значение f(3). 

Построить график функции для х  [-5; 5] с шагом 1.

Во всех заданиях разместить оси Axes с размещением на них графического представления объекта с включением сетки.

Создать кнопку reset.

 

 

Таблица 7 – Варианты функций

 

Содержание отчета:

1. Титульный лист.

2. Цель работы.

3. Вариант задания.

4. Текст программы в MATLAB и полученный график.

5. Выводы по работе.

 

Контрольные вопросы

1. Какие элементы управления можно использовать при создании графического интерфейса MATLAB?

2. Какие компоненты содержит редактор GUIDE?

3. Как организуется указатель на какой-либо объект в m-файле MATLAB?

4. Назначение и синтаксис функций set и get.

5. Как организовать в интерфейсном окне объекты ввода и вывода численных данных?

 

 

.

Часа

 

Цель занятия: ознакомиться с возможностями пакета математического моделирования Simulink. 

 

Порядок выполнения

1.Ознакомиться со структурой иерархической библиотеки Simulink.

2. Набрать модель системы по варианту задания.

3. Произвести моделирование системы.

4. Сравнить результаты, полученные путем изменения параметров моделирования.

 

Построить в Simulink следующую модель:

 

Для этого использовать следующие блоки:

– Sine Wave – Источник синусоидального воздействия;

– Constant – Источник постоянного воздействия;

– Step – Источник одиночного перепада;

– Integrator – Интегрирующий блок;

– Mux – Блок мультиплексора;

– Scope – осциллограф для наблюдения временных и иных зависимостей;

– Gain – Блок масштабирования

– Sum – Блок суммирования

2. Изучение блоков «Sources» (Источники сигналов и воздействий)

Промоделировать систему при различных параметрах источников сигналов:

 

нечетные варианты – прямоугольный сигнал, нечетные варианты – пилообразный сигнал.

 

Привести графики сигналов на выходах системы, проанализировать результаты.

 

3. Изучение блока «Integrator» (Интегрирующий блок).

Промоделировать систему по варианту при различных значениях параметра «Initial condition» (начальное состояние). Привести графики сигналов на выходах системы, проанализировать результаты.

4. Изучение обратных связей (ОС)

Промоделировать систему при различных значениях блока «Gain» (Блок масштабирования). Рассмотреть вариант ООС (отрицательной ОС) и ПОС (положительной ОС). Привести графики сигналов на выходах системы, проанализировать результаты.

5. Изучение параметров моделирования системы

Промоделировать систему при различных параметрах моделирования:

– время моделирования (Simulation time);

– тип решения (Variable-step solvers – решение с переменным шагом, Fixed-step solvers – решение с фиксированным шагом);

– метод моделирования;

– шаг интегрирования;

– точность интегрирования.

Привести графики сигналов на выходах системы, проанализировать результаты.

 

Содержание отчета

1. Схема модели.

2. Скриншоты с результатами моделирования.

 

7.4 Контрольные вопросы

1. Из каких библиотек состоит пакет Simulink?

2. Как собрать модель в пакете Simulink?

3. Как изменить параметры моделирования?

4. Какие существуют способы визуализации процесса моделирования?

 


 

Часа

 

Цель работы: изучить основы созданиямоделей нелинейных элементов – модуляторов.

 

Задание и порядок выполнения работы

 

1. Задание 1. Создать модель, в которой сигналы от заданных источников поступают на блок математических операций. Регистратор позволяет наблюдать сигналы на выходах источников сигналов и блока математических операций. Измерить максимальное и минимальное значения сигнала в разных точках схемы. Варианты заданий приведены в таблице 16.1.

 

Таблица 16.1 – Варианты заданий

 

2. Поменять амплитуду и период следования источников сигнала и проконтролировать результат моделирования с помощью регистрирующих блоков.

3. Модель скопировать в отчет, созданный в текстовом редакторе MS Word. Сохранить его в своей папке.

 

16.2. Технология выполнения задания 1

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

 

 

Виртуальный осциллограф Scope позволяет представить результаты моделирования в виде временных диаграмм с оцифрованной масштабной сеткой. Осциллограф имеет свою панель инструментов (рис. 10.1), которая содержит следующие кнопки:

печать,

параметры,

масштаб,

автоматическое масштабирование,

сохранение текущих установок,

режим «плавающего» осциллографа.

 

 

Рис. 16.1. Работа с виртуальным осциллографом

 

 

Далее необходимо собрать модель, приведенную на рис. 16.2.

 

Рис. 16.2. Моделирование устройства по заданию 1.

 

2. Для отображения трёх осциллограмм в одном блоке Scope необходимо:

Открыть двойным щелчком по блоку Scope его демонстрационное окно (рис. 16.1);

Кнопкой Parameters (Параметры) окна Scope вызвать окно свойств, в котором на вкладке General установить число осей Number of axes осциллографа 3 (для двух генераторов и сигнала, полученного при заданной математической операции);

Подтвердить установку параметров кнопкой OK.

3. Включить процесс моделирования. В окне Scope отобразятся графики сигналов (рис. 16.3).

4. Если результат моделирования не совпадает с ожидаемым результатом, то нужно изменить параметры модели и снова включить моделирование.

 

Рис. 16.3. Осциллограммы выходных сигналов

 


 

Часа

 

Цель работы: изучить приемы создания подсистем и маскирования в Simulink.

 

17.1 Subsystem – подсистемы.

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

1. Уменьшает количество одновременно отображаемых блоков на экране, что облегчает восприятие модели (в идеале модель полностью должна отображаться на экране монитора).

2. Позволяет создавать и отлаживать фрагменты модели по отдельности, что повышает технологичность создания модели.

3. Позволяет создавать собственные библиотеки.

4. Дает возможность синхронизации параллельно работающих подсистем.

5. Позволяет включать в модель собственные справочные средства.

6. Дает возможность связывать подсистему с каким-либо m -файлом, обеспечивая запуск этого файла при


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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.271 с.