Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое руководство(шаблон для отчёта).doc
Скачиваний:
0
Добавлен:
12.01.2020
Размер:
368.64 Кб
Скачать

13. Работа с файлами

Для работы с файлами данных и программ в MatLab и Octave необходимо, чтобы эти файлы находились в пути поиска MatLab (Octave). По умолчанию, созданные в MatLab файлы сохраняются в папку work (MatLab).

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

  1. Имя файла не должно совпадать с именем функции.

  2. Не должно начинаться с цифры.

  3. Не должно содержать или состоять из букв кириллицы.

  4. В имени файлов не должно быть пробелов.

  5. В имени файлов не должны использовать большие буквы.

Примеры правильного и неправильного написания имен файлов приведены в таблице 15.

Таблица 15 - Неправильное и правильное написание имен файлов

Неправильно

Правильно

Комментарий

1.m

odin.m

Имя файла не должно начинаться с цифры

mean.m

srednee.m

Имя файла совпадает с именем функции mean (среднее)

мой_файл1.m

myfile1.m

Имя файла содержит символы кириллицы

moj file1.m

moj_file1.m

Имя файла содержит пробел

MyFile3.m

myfile3.m

Имя файла содержит большие буквы

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

Таблица 16 - Команды работы с файлами

Назначение

Синтаксис

Пример команды

Сохранение переменной

save имя файла имя переменной

a=1

save myfile a

Загрузка переменной

load имя сохраненного файла

load myfile

14. Программирование в MatLab и Octave

Ввод команд в командной строке – не единственный вариант работы в MatLab и Octave. Оба пакета позволяют пользователю писать собственные функции (в данном методическом пособии написание функций не рассматривается) и программы (scripts), реализующие различные алгоритмы обработки данных. В качестве языка программирования можно использовать, например язык Си, но проще реализовывать программы на языке MatLab – последовательность необходимых функций MatLab. Программы можно писать в любом текстовом редакторе (например, Блокнот) используя расширение *.m (примеры правильных имен файлов приведены в табл.15). В MatLab также имеется встроенный редактор/отладчик (Editor/Debugger), вызываемый из командного окна с помощью команды edit.

Перед запуском программы её необходимо сохранить с расширением .m, при этом важно, чтобы файл был сохранен в папке, имя которой включено в путь данного математического пакета. Для MatLab это папка work: Имя диска.../MatLab/work, для Octave – Имя диска.../GNU Octave 2.1.73/usr/share/Octave/2.1.73/site/m/.

После сохранения программу можно запустить путем набора её имени (без расширения) в командном окне и нажатии Enter. Программа запустится при условии, если:

– она написана правильно,

– она сохранена с корректным именем в корректной папке.

П ример простой программы для Octave приведен на рис.6.

Рис.6 – Пример построения графика синуса с заданной пользователем амплитудой

Программа сохранена в папке Имя диска.../GNU Octave 2.1.73/usr/share/Octave/2.1.73/site/m/ с именем program.m. Запуск осуществляется из командной строки путем набора имени файла program (без расширения).

Рекомендуемая литература

1. Потемкин В. Г. Система MatLab. Справочное пособие. – Диалог-МИФИ. –1997.

2. Потемкин В. Г. MatLab 5 для студентов. – Диалог-МИФИ. – 1999.

3. Потемкин В. Г. Система инженерных и научных расчётов MatLab 5.х. В 2-х томах. – Диалог-МИФИ. – 1999.

4. Мартынов Н.Н . Введение в MatLab 6. –М .: КУДИЦ -ОБРАЗ , 2002.

5. Мартынов Н.Н . MatLab 5 х . Вычисления , визуализация ,

программирование . –М .: КУДИЦ -ОБРАЗ , 2000.

6. Электронные учебники по основам MatLab.

7. www.exponenta.ru

Содержание

Предисловие

  1. Идеология MatLab и Octave.

  2. Возможности MatLab и Octave.

  3. Управление командным окном.

  4. Организация системы помощи в MatLab и Octave.

  5. Ввод и генерация чисел.

  6. Ввод констант и специальных чисел в MatLab и Octave.

  7. Ввод данных в диалоговом режиме.

  8. Генерация специальных матриц.

  9. Манипуляции с матрицами в MatLab и Octave.

  10. Работа с символьными переменными.

  11. MatLab (Octave) как сложный калькулятор.

  12. Визуализация данных.

  13. Работа с файлами.

  14. Программирование в MatLab и Octave.

Рекомендуемая литература.

Приложение 1. Контрольные вопросы.

Приложение 2. Наиболее распространенные причины ошибок при работе в MatLab и Octave.

Приложение 3. Задание по вычислительной практике.

Приложение 4. Требования к содержанию отчета.

Приложение 1. Контрольные вопросы

  1. Назначение команд управления командным окном: format, clс, home, clear.

  2. Назначение клавиш   на клавиатуре?

  3. Назначение сочетания клавиш Ctrl+C на клавиатуре.

  4. Виды помощи в MatLab и команды их вызова?

  5. Назначение и синтаксис* команды lookfor?

  6. Назначение команды demos?

  7. Назначение команды help /?

  8. Назначение команды help elfun?

  9. Назначение команды help elmat?

  10. Что такое матрица, вектор-строка, вектор-столбец, скаляр?

  11. Назначение служебных символов «;» «:» «…» (точка с запятой, двоеточие, многоточие) в командном окне MatLab?

  12. Как создать в MatLab переменную и присвоить ей значение?

  13. Представление чисел π, е, мнимой единицы, бесконечности, не числа, пример ввода числа с плавающей запятой в MatLab.

  14. Назначение и синтаксис команд input?

  15. Как ввести вектор-строку, вектор-столбец и матрицу на примере вектора из 4-х элементов и матрицы размером 2х2?

  16. Назначение и синтаксис команд: rand, randn, zeros, ones, eye?

  17. За что отвечают при обращении к вектору V(i) и матрице M(i,j) индексы i и j?

  18. Как осуществить доступ к отдельным элементам матрицы, используя выражения вида V(i), M(i,j)? Как осуществить выделение из матрицы 2х2 вектора-строки и вектора-столбца?

  19. Назначение и синтаксис команд: сat, rot90?

  20. Назначение и синтаксис команд: inv, det, rank, «’»?

  21. Назначение и синтаксис команд: size и length?

  22. Назначение и синтаксис команды disp?

  23. Назначение и синтаксис команд: plot, axis, grid, title, xlabel, ylabel, legend?

  24. Как отобразить несколько графиков в одном окне с помощью команды subplot?

  25. Назначение и синтаксис команд: stem, stairs, pie, pie3, polar, semilogx, semilogy, hist?

  26. В какую папку по умолчанию сохраняются созданные файлы?

  27. Под какими именами не следует сохранять файлы?

  28. Как сохранить и загрузить сессию в текстовом файле с помощью команд save и load?

  29. Назначение и синтаксис команд: mean, std, var?

Приложение 2. Наиболее распространенные причины ошибок при работе в MatLab (Octave)

  1. Использование запятой вместо точки в качестве десятичного разделителя.

  2. Неправильно использованные скобки.

  3. Неправильное имя файла.

Приложение 3. Задание по вычислительной практике

Задание по вычислительной практике выполняется студентом индивидуально согласно варианту. Выбор варианта осуществляется по таблице 17: F- первая буква фамилии, I- первая буква имени, O- первая буква отчества, N-первая цифра номера школы. Например, Сидоров Иван Петрович из 123 школы:

F=1.2

I=0.7

O=0.7

N=-1.6

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

матрица 1х1: a=F=1.2

вектор-строка: A=[F I O N] = [1.2 0.7 0.7 -1.6]

матрица 2х2: A=[F I; O N] = [1.2 0.7; 0.7 -1.6]

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

F

I

О

N

1АБВ

-0.4

0.2

-0.1

-1.6

2ГДЕ

-1.7

-0.2

-0.8

-1.4

3ЖЗИ

0.1

0.7

0.3

-0.4

4КЛМ

0.3

-0.6

-1.3

0.7

5НОП

-1.1

2.2

0.7

0.8

6РСТ

1.2

-0.1

1.6

0.7

7УФХ

1.2

0.1

-0.7

0.6

8ЦЧШ

-0.1

1

0.8

1.3

9ЩЭЮЯ

0.3

0.1

1.2

-0.7

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

Приложение 4. Требования к содержанию отчета

Отчет должен содержать:

  1. Титульный лист по стандарту СПбГУАП. Заголовок - Отчет о вычислительной практике. «Знакомство с математическими пакетами MatLab (Octave)».

  2. Индивидуальный вариант задания: F=1.2 I=0.7 O=0.7 N=-1.6.

  3. Таблицы 2 и 3 данного методического руководства без изменений.

  4. Таблица 4 с данными из индивидуального задания (F,I,O,N).

  5. Таблица 5 с измененной последней строкой (ввод числа с плавающей точкой). Приведите собственный пример числа с плавающей точкой.

  6. Таблица 6. Вместо указанных матриц сгенерируйте матрицы размерностью 2х3.

  7. Таблицы 7 и 8 с данными из индивидуального задания (F,I,O,N).

  8. 10. Пример с использованием собственных ФИО, номера школы и телефона.

  9. Таблицы 9, 10, 11 с данными из индивидуального задания (F, I, O,N).

  10. Таблица 12. Вывести собственную фамилию и численное значение N.

  11. Таблица 13 данного методического руководства без изменений.

  12. Таблица 14. Функции stem, stairs, pie, pie3 c данными из индивидуального задания (F, I, O,N). Остальное – без изменений.

  13. Таблицы 15, 16 без изменений.

  14. Индивидуальное задание: напишите на языке MatLab и рассчитайте выражение

a=sin(eF)+cos(Iπ)

где F и I – из варианта индивидуального задания (табл. 17).

  1. Приведите листинг и результат работы сценария (программы), которая:

- формирует вектор X длиной 4x1 из данных, введенных пользователем согласно варианту, указанному в Таблице 17.

- отображает введенные данные на графике, добавляет сетку, заголовок, подписи к осям (команды: plot, grid, title, xlabel, ylabel),

- строит на отдельном графике результат обработки введенных данных (согласно варианту см. Таблицу 18) + добавляет сетку, заголовок, подписи к осям (команды: title, xlabel, ylabel).

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

Фамилия

F

АБВ

sin(X)

ГДЕ

cos(X)

ЖЗИ

ln(X2)

КЛМ

lg(X2)

НОП

abs(X)

РСТ

sqrt(X2)

УФХ

exp(X)

ЦЧШ

ceil(X)

ЩЭЮЯ

floor(X)

Скопировать график в буфер обмена можно обратившись к меню EditCopy figure на самом графике (для MatLab). Для Octave навести указатель мыши на заголовок графика

далее нажать правую кнопку мыши Options → Copy to Clipboard.

16. Список используемой литературы.