Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab matlab small_3_

.pdf
Скачиваний:
27
Добавлен:
27.03.2015
Размер:
1.86 Mб
Скачать

4.Используя цикл с заранее известным числом итераций (с параметром), организовать расчет (рассчитывается величина согласно варианту из предыдущей работы). При этом величина, указанная в п.3, принимает пять значений в диапазоне от минимального до максимального значения. Например, для варианта 1 необходимо провести расчет iR, изменяя значение Е в диапазоне от Emin до Emax с шагом, обеспечивающим проведение именно пяти расчетов. Обратите внимание, что реализацию перебора значений от минимального до максимального берет на себя цикл с параметром, программист должен лишь обеспечить расчет шага приращения переменной цикла. При этом непосредственно расчет (включающий в себя, в том числе, структуры с ветвлением, созданные в предыдущей работе) помещается внутрь цикла с параметром.

5.Организовать вывод рассчитанных значений (выводимые значения - те же, что и в предыдущей работе) для каждого значения изменяемой величины (Е для первого варианта) внутри цикла, введенного в п.4.

6.Подготовить отчет

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

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

2.Типы циклов в Matlab

3.Блок-схема программы

4.Текст программы

5.Пример работы программы

6.Особенности отладки программ с циклами

7.Выводы

Темы для защиты

1.Типы циклов в Matlab

2.Способы реализации циклов с постусловием в Matlab

3.Способы и особенности отладки алгоритмов с циклами

31

Лабораторная работа № 4. «Использование массивов»

Цель работы:

!изучить типы массивов в Matlab

!изучить способы использования массивов в Matlab и векторизацию расчетов

!освоить способы отладки программ с массивами

!реализовать алгоритм с использованием массивов

Описание работы:

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

Всю информацию об анализируемой схеме будем хранить в массиве записей SCHEMA. Имена полей этого массива сделаем совпадающими с именами ранее используемых переменных; следовательно, изменится способ обращения к этим величинам (например, вместо Io будем использовать SCHEMA.Io). Освободившиеся имена можно использовать в других целях.

Результаты расчетов поместим в 1-мерный массив ячеек RES; индекс его элементов совпадает с номером расчета в цикле с параметром, т.е. результаты первой итерации этого цикла сохраним в ячейке с индексом 1, второй итерации – в ячейке с индексом 2 и т.д. Каждый элемент этого массива, в свою очередь, является массивом записей, содержащим несколько полей. Поля хранят: название расчетного режима (например, поле REGIM, хранящее текст "ПРАВАЯ ВЕТВЬ") и рассчитываемые переменные (например, поле Ir, хранящее рассчитанное значение тока через сопротивление). Обращение к этому элементу будет иметь вид, например, RES{3}.REGIM (это обозначает «значение режима схемы в третьей итерации цикла с параметром»). Кроме того, первая ячейка массива RES содержит элемент, хранящий информацию о числе расчетов.

32

Программа работы:

Внести изменения в программу из предыдущей работы

1.Изложить для отчета типы массивов, синтаксис обращения к элементам массивов.

2.Подготовить проект блок-схем алгоритмов, реализующих п.п.3- 8 (см. ниже).

3.Изменить способ хранения информации об анализируемой схе-

ме – в массиве записей SCHEMA; блок-схема не изменится за исключением содержимого блоков.

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

5.Изменить способ хранения информации о результатах расчета.

Результаты расчетов поместить в массив ячеек RES; первая ячейка массива содержит элемент Ncalc, хранящий информацию о числе расчетов. Внести изменения в блок–схему.

6. Согласно варианту, сформировать массив, с числом элементов, равным числу расчетов в цикле с параметром. Для этого использовать выражение вида X = начало : шаг : конец :

ВАРИАНТЫ

1 массив E в диапазоне от Emin до Emax

2 массив R в диапазоне от Rmin до Rmax

3 массив Uo в диапазоне от Uomin до Uomax

4 массив E в диапазоне от Emin до Emax

5 массив Rn в диапазоне от Rmin до Rmax

6 массив Re в диапазоне от Remin до Remax

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

7. Согласно варианту, сформировать массив, с числом элементов, равным числу расчетов в цикле с параметром. Сделать это, используя еще один цикл с параметром, в рамках которого копировать информацию из ячеек массива RES в формируемый массив:

33

ВАРИАНТЫ

1 массив iR

2 массив uR

3 массив uD

4 массив uR

5 массив PR

6массив UE

8.Используя векторизацию, рассчитать выражения согласно вари-

анту и вывести результаты на экран: ВАРИАНТЫ

1 Отношение iR к Е.

2 iR, как отношение uR к R. 3 Отношение uD к Uo.

4 Отношение uR к E.

5 uR, как корень из произведения PR и R.

6iR, как отношение UE к .

9.Утвердить блок-схему и получить допуск у преподавателя.

10.Ввести в программу и отладить изменения согласно п.п.3-8.

11.Сформулировать для отчета, какие особенности использования инструментов отладки имеют место при работе с массивами.

12.Подготовить отчет.

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

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

2.Типы массивов в Matlab

3.Блок-схема программы

4.Текст программы

5.Пример работы программы

6.Особенности отладки программ с массивами

7.Выводы

Темы для защиты

1.Типы массивов в Matlab

2.Способы создания и обращения к массивам в Matlab

3.Векторизация расчетов в Matlab. Матричные и скалярные формы арифметических операций

4.Способы отладки алгоритмов с массивами

34

Лабораторная работа № 5. «Использование функций»

Цель работы:

!изучить типы функций в Matlab

!изучить способы использования функций и сценариев в Matlab

!освоить способы отладки программ с функциями

!реализовать алгоритм с использованием функций

Описание работы:

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

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

! ввод данных; ! расчет; ! вывод данных.

Вначале создания функции необходимо задать ее интерфейс:

1)Выбрать имя функции; 2) Выбрать величины, с которыми будет работать функция – входные параметры; 3) Выбрать величины, которые функция будет возвращать – возвращаемые параметры.

Программа работы:

1.При выполнении программы работы руководствоваться блоксхемой на рис. 1.

2.Нарисовать блок-схемы создаваемых программных единиц п.п. 3-9 (см. ниже).

3.Удалить операторы вывода из циклов расчета.

4.Задать интерфейс функции для вывода результатов на экран

35

Имя функции:

ResOutput.

Входные параметры:

Величины, необходимые для вывода

 

(исходные данные, режим работы, ре-

 

зультаты расчета).

Возвращаемые

Нет возвращаемых значений.

параметры:

 

5.Написать тело функции «ResOutput» – вывод заданных параметров на экран.

6.Задать интерфейс функции, осуществляющей расчет

Имя функции:

CALC.

Входные параметры:

Величины, необходимые для расчета

 

(исходные данные, режим работы).

Возвращаемые

Массив ячеек, аналогичный массиву

параметры:

RES, введенному в предыдущей работе.

7.Поместить расчет в функцию CALC.

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

ичисло его итераций.

Имя сценария:

DataInput.

Входные и

У файлов сценария нет параметров. Все

возвращаемые

величины, используемые в файле-

параметры:

сценарии, напрямую доступны в вызы-

 

вающей программной единице, и не тре-

 

буют интерфейса.

9.Поместить операторы ввода в файл-сценарий - DataInput.

10.Изложить для отчета синтаксис определения и вызова функций

ифайлов-сценариев.

11.Утвердить созданные блок-схемы и получить допуск у преподавателя.

12.Ввести в программу и отладить изменения согласно п.п.3-9.

a). создать файл-сценарий DataInput.m, обеспечивающий ввод исходных данных для расчета, за исключением величин, обозначающих начальное и конечное значения переменной цикла с параметром, и число его итераций.

36

начало

 

Ввод (указать,

Сценарий

 

что вводится)

DataInput

завершить

Бесконечный цикл

 

 

 

 

делать

 

 

 

Функция

 

Расчет во вводимых

 

границах

САLC

 

 

 

Запрос на продолжение

 

Продол-

нет

 

 

да

жить?

Break

 

 

 

 

 

 

Вывод результа-

Функция

тов в файл

ResOutput

конец

рис. 29 Блок-схема алгоритма

b). Создать в рабочем каталоге файл с именем ResOutput.m. Создать в этом файле одноименную функцию (ResOutput).

37

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

d). Создать первую строку комментария. Просмотреть ее, используя команду help имя файла в окне команд.

e). Аналогично п.п. 12.b – 12.d создать в рабочем каталоге файл с именем CALC.m, создать в этом файле одноименную функцию

(CALC).

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

14.Подготовить отчет.

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

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

2.Типы и синтаксис функций в Matlab

3.Блок-схема вызывающей программы

4.Блок-схемы вызываемых программных единиц

5.Текст вызывающей программы

6.Тексты вызываемых программных единиц

7.Пример работы программы

8.Особенности отладки программ с функциями

9.Выводы

Темы для защиты.

1.Область видимости сценариев, функций и подфункций.

2.Время жизни переменных в сценариях, функциях и подфункциях, и способ его изменения.

3.Комментарии в теле функции и их использование

4.Передача информации в программные единицы при их вызове и возврат информации из программных единиц после завершения их выполнения.

5.Способы отладки алгоритмов с использованием функций

38

Лабораторная работа № 6. «Вывод под управлением формата»

Цель работы:

!изучить вывод под управлением формата в Matlab

!изучить способы отображения цифровой информации в Matlab

!освоить способы отладки программ с форматным выводом

!реализовать алгоритм с использованием вывода под управлением формата

Описание работы:

Удобный инструмент для управления выводом – вывод под управлением формата. Он позволяет задавать позицию на экране или в файле для вывода символов, формат представления данных. С помощью форматированного вывода можно создавать таблицы или иным способом упорядочить выводимые данные.

Пример выводимой таблицы с использованием формата с фиксированной точкой:

Величина потерь при различных значениях Io и U:

Io

|U= 73.01 77.51 82.01 86.51 91.01

---------------------------------------------

22.00

|

10.00

11.33

12.45

13.56

14.11

23.34

|

10.11

11.44

12.56

13.97

14.95

24.68

|

10.22

11.67

12.86

13.99

14.98

26.32

|

15.31

16.31

17.41

18.16

19.19

Программа работы:

Внести изменения в программу из предыдущей работы.

1.Подготовить проект блок-схем алгоритмов, реализующих п.п.2-4 (см. ниже).

2.Изложить для отчета синтаксис функций вывода под управлением формата.

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

39

вуют итерациям цикла с параметром). Для этого:

a). Создать проект таблицы, установив в каком порядке выводится какая информация, включая шапку и строки таблицы;

b). Сформировать список вывода;

c). Записать спецификации формата, обеспечивающие вывод соответствующих строк таблицы.

4.Организовать (также под управлением формата) вывод запроса при вводе данных.

a). Удалить подсказки в функциях ввода;

b). Вывести подсказки, используя спецификации формата;

5.Утвердить блок-схему и получить допуск у преподавателя.

6.Ввести в программу и отладить изменения согласно п.п.2-4 и разработанной блок-схеме

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

8.Подготовить отчет

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

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

2.Синтаксис функций форматного вывода в Matlab

3.Блок-схемы программных единиц

4.Тексты программных единиц

5.Пример работы программы

6.Особенности отладки программ с форматным выводом

7.Выводы

Темы для защиты.

1.Функции, обеспечивающие форматный вывод.

2.Дескрипторы форматов.

3.Хранение и использование форматов

4.Способы отладки алгоритмов с использованием форматов

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]