Разделы презентаций


Программирование в Matlab

Содержание

Типы программных файловНаписание программ – это альтернатива работе в командной строкеПрограммный код Matlab размещают в файлах с расширением «m» (m-файлах)m-файлы бывают двух видов:скрипты (scripts)функции (functions)К сожалению, Matlab плохо понимает кириллицу…

Слайды и текст этой презентации

Слайд 1Программирование в Matlab
Лекция 5

Программирование в MatlabЛекция 5

Слайд 2Типы программных файлов
Написание программ – это альтернатива работе в командной

строке
Программный код Matlab размещают в файлах с расширением «m» (m-файлах)
m-файлы

бывают двух видов:
скрипты (scripts)
функции (functions)
К сожалению, Matlab плохо понимает кириллицу…
Типы программных файловНаписание программ – это альтернатива работе в командной строкеПрограммный код Matlab размещают в файлах с

Слайд 3Скрипты
Представляют собой последовательности команд Matlab
как если бы мы перенесли их

из командного окна в отдельный файл
Скрипт вызывается по имени через

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

Слайд 4Функции
Специальный вид m-файлов
В отличие от скриптов могут принимать аргументы и

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

ФункцииСпециальный вид m-файловВ отличие от скриптов могут принимать аргументы и возвращать значенияИспользование функций позволяетструктурировать программуизбежать повторения кода

Слайд 5Скрипты
Полезны для автоматизации последовательности действий, которые выполняются многократно
Не могут принимать

параметры и возвращать аргументы
Хранят значения своих переменных в рабочем пространстве
где

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

Слайд 6Функции
Создание функции преследует целью расширение языка
Переменные, определённые внутри функции являются

локальными
то есть видны только внутри самой функции
Функция имеет собственное имя
Кроме

того, с ней связано имя m-файла, в котором функция записана
будем соблюдать правило: имя функции и имя m-файла должны быть одинаковы
ФункцииСоздание функции преследует целью расширение языкаПеременные, определённые внутри функции являются локальнымито есть видны только внутри самой функцииФункция

Слайд 7Структура функции
Функция состоит из заголовка и тела
function f = fact(n)

Заголовок
% Вычисляет факториал.

Комментарий
% FACT(N) возвращает N!, Комментарий

f = prod(1:n); Тело функции


Фактически, функция отличается от скрипта наличием заголовка и способом вызова
Структура функцииФункция состоит из заголовка и телаfunction f = fact(n)       Заголовок%

Слайд 8Заголовок функции
function f = fact(n)

Заголовок функцииfunction f = fact(n)

Слайд 9Комментарии
Используются для
пояснения кода
временного исключения кода из текста
Могут быть строчными и

блочными
Строчные начинаются с символа «%»
с этого места и до конца

строки всё игнорируется компилятором % как в этом примере
Блочные начинаются с символа «%{» и заканчиваются символом «%}»:
%{
эти символы должны обязательно стоять в отдельных строках!
%}
КомментарииИспользуются дляпояснения кодавременного исключения кода из текстаМогут быть строчными и блочнымиСтрочные начинаются с символа «%»с этого места

Слайд 10Комментарии
Можно автоматически закомментировать блок текста. Для этого:
выделить блок
щёлкнуть правой кнопкой
выбрать

Comment (или Ctrl+R)
Снять комментарий:
выделить закомментированный блок
щёлкнуть правой кнопкой
выбрать Uncomment (или

Ctrl+T)
КомментарииМожно автоматически закомментировать блок текста. Для этого:выделить блокщёлкнуть правой кнопкойвыбрать Comment (или Ctrl+R)Снять комментарий:выделить закомментированный блокщёлкнуть правой

Слайд 11Создание функции
m-файл можно создать в любом текстовом редакторе
Например, во встроенном

редакторе
при помощи меню
или командой
edit

Создание функцииm-файл можно создать в любом текстовом редактореНапример, во встроенном редакторепри помощи менюили командой   edit

Слайд 12Использование функции
Функция вызывается по своему имени (которое совпадает с именем

её m-файла)

Использование функцииФункция вызывается по своему имени (которое совпадает с именем её m-файла)

Слайд 13Входные и выходные параметры
При написании функций в Matlab можно (и

желательно!) проводить проверку количества входных и выходных параметров
Для этого в

описании функции используют служебные слова:
nargin: количество входных параметров
nargout: количество выходных параметров
Входные и выходные параметрыПри написании функций в Matlab можно (и желательно!) проводить проверку количества входных и выходных

Слайд 14Входные и выходные параметры (пример)

Входные и выходные параметры (пример)

Слайд 15Подфункции
В файлах-функциях Matlab могут быть реально описаны несколько функций
Синтаксически это

оформляется как две (или более) функций, записанных в одном файле
При

вызове такого m-файла происходит запуск самой первой функции
её имя должно совпадать с именем файла
Описание следующих функций локально
обычно они используются как вспомогательные для первой функции
ПодфункцииВ файлах-функциях Matlab могут быть реально описаны несколько функцийСинтаксически это оформляется как две (или более) функций, записанных

Слайд 16Подфункции (пример)

Подфункции (пример)

Слайд 17Вложенные функции
Помимо последовательного вложения в один файл функция может быть

описана непосредственно в теле другой функции
Такая функция называется вложенной
Вложенная функция,

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

Слайд 18Вложенные функции (примеры)

Вложенные функции (примеры)

Слайд 19Создание p-кода
При вызове m-файла сравнительно много времени тратится на его

компиляцию
Чтобы сократить время выполнения можно предварительно перевести m-файл в p-код

(«пи-код»)
команда pcode <имя m-файла>
Откомпилированный в псевдокод файл получает расширение «p»
Такой файл будет выполняться быстрее, чем обычный m-файл
Создание p-кодаПри вызове m-файла сравнительно много времени тратится на его компиляциюЧтобы сократить время выполнения можно предварительно перевести

Слайд 20Интерактивный ввод данных
Используется при написании скриптов
Для ввода числовых данных

применяют функцию input по формату
x = input(’строка приглашения’)
Введённое пользователем

значение сохранится в переменной x
Для ввода строковых данных функция input вызывается с дополнительным параметром:
c = input(’строка приглашения’,’s’)
Кроме того, имеется Си-подобная функция sscanf
Интерактивный ввод данных Используется при написании скриптовДля ввода числовых данных применяют функцию input по формату x =

Слайд 21Пример использования input

Пример использования input

Слайд 22Вывод данных в командное окно
Для этого используют команду disp (от

display) по формату
disp()
Если выводимое значение –

число, то вначале его преобразуют к строковому типу при помощи функций int2str или num2str
Конкатенацию строк производят как для одномерных векторов-строк

Кроме того, имеется Си-подобная функция sprintf

Вывод данных в командное окноДля этого используют команду disp (от display) по формату   disp()Если выводимое

Слайд 23Основные языковые конструкции
Как и любой процедурный язык высокого уровня, Matlab

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

Основные языковые конструкцииКак и любой процедурный язык высокого уровня, Matlab позволяет использовать при написании программследованиеветвлениециклыпользовательские функции

Слайд 24Следование
Реализуется перечислением каждого из операторов в отдельной строке
Либо в одной

строке через запятую (или точку с запятой)

СледованиеРеализуется перечислением каждого из операторов в отдельной строкеЛибо в одной строке через запятую (или точку с запятой)

Слайд 25Ветвление
Реализуется в двух вариантах:
при помощи оператора if
при помощи оператора switch

ВетвлениеРеализуется в двух вариантах:при помощи оператора ifпри помощи оператора switch

Слайд 26Оператор if
Простейшая форма:
if

end

Оператор ifПростейшая форма:if   end

Слайд 27Полный формат оператора if
В полном варианте оператора могут использоваться слова

else и elseif
Слово elseif может использоваться в одном операторе многократно

с указанием условия
Слово else – только один раз в конце оператора и без условия
Полный формат оператора ifВ полном варианте оператора могут использоваться слова else и elseifСлово elseif может использоваться в

Слайд 28Циклы
В Matlab имеется два вида циклов:
цикл с параметром for
цикл c

предусловием while
Также имеются
оператор досрочного выхода из цикла break
оператор перехода к

следующей итерации continue
ЦиклыВ Matlab имеется два вида циклов:цикл с параметром forцикл c предусловием whileТакже имеютсяоператор досрочного выхода из цикла

Слайд 29Цикл с параметром

Цикл с параметром

Слайд 30Замечание по использованию цикла с параметром
Обычно цикл for используется для

обработки массивов
Важно помнить, что если есть возможность обойтись без этого

цикла (применить матричные или векторные операции), то лучше избавиться от явного цикла
В этом случае программа будет работать на порядок быстрее
Замечание по использованию цикла с параметромОбычно цикл for используется для обработки массивовВажно помнить, что если есть возможность

Слайд 31Пример: замена отрицательных элементов вектора на нули (с циклом)

Пример: замена отрицательных элементов вектора на нули (с циклом)

Слайд 32Пример: замена отрицательных элементов вектора на нули (без цикла)

Пример: замена отрицательных элементов вектора на нули (без цикла)

Слайд 33Цикл с предусловием
Синтаксис:
while


end
Операторы выполняются, пока логическое выражение есть истина (true)

Цикл с предусловиемСинтаксис:  while       endОператоры выполняются, пока логическое выражение есть

Слайд 34Цикл с предусловием (пример)

Цикл с предусловием (пример)

Слайд 35Операторы break и continue
Аналогичны одноимённым операторам Паскаля
Break производит досрочный выход

из цикла for или while
Continue прекращает выполнение текущей итерации и

переходит к следующей
Операторы break и continueАналогичны одноимённым операторам ПаскаляBreak производит досрочный выход из цикла for или whileContinue прекращает выполнение

Слайд 36Операторы break и continue (пример)
Написать скрипт, который вводит с клавиатуры произвольное

количество чисел. Если число положительное, то оно прибавляется к сумме,

если отрицательное, то пропускается. Ноль – признак окончания работы
Операторы break и continue (пример)Написать скрипт, который вводит с клавиатуры произвольное количество чисел. Если число положительное, то

Слайд 37Операторы break и continue (решение)

Операторы break и continue (решение)

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика