Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование. Операторы ветвленияСодержание книги
Поиск на нашем сайте
Цель работы: научиться использовать операторы ветвления
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Условный оператор if и оператор переключения switch позволяют создать гибкий разветвляющийся алгоритм выполнения команд, в котором при выполнении определенных условий работает соответствующий блок операторов или команд MatLab. Практически во всех языках программирования имеются аналогичные операторы. Оператор if может применяться в простом виде для выполнения блока команд при удовлетворении некоторого условия или в конструкции if–elseif–else для написания разветвляющих алгоритмов. Начнем с простейшего примера, то есть файл-функции для вычисления выражения Создание файл-функции не должно вызвать затруднений. Она работает для любых значений x, причем для –1< x < 1 результат является комплексным числом. Предположим, что вычисления происходят в области действительных чисел и требуется вывести предупреждение о том, что результат является комплексным числом. Перед вычислением функции следует произвести проверку значения аргумента x и вывести в командное окно предупреждение, если модуль x не превосходит единицы. Здесь уже не обойтись без условного оператора if, применение которого в самом простом случае выглядит так: if условие команды MatLab end
Если условие верно, то выполняются команды MatLab, размещенные между if и end, а если условие неверно, то происходит переход к командам, расположенным после end. Команда warning служит для вывода предупреждения в командное окно. Файл-функция, проверяющая значение аргумента, выглядит так:
function f = Rfun (x); % вычисляет sqrt (x^2–1) % выводит предупреждение, если результат комплексный % использование y = Rfun (x) % проверка аргумента if abs (x) < 1 warning (‘результат комплексный’) end % вычисление функции f = sqrt (x^2 – 1);
Теперь вызов Rfun от аргумента, меньшего единицы по модулю, приведет к выводу в командное окно предупреждения: >> y = Rfun (0.2) результат комплексный y = 0 + 0.97979589711327i
Файл-функция Rfun только предупреждает о том, что ее значение комплексное, все вычисления с ней продолжаются. Если же комплексный результат означает ошибку вычислений, то следует прекратить выполнение функции, используя error вместо warning. Другой конструкцией условных операторов является:
if условие 1 команды MatLab else условие 2 команды MatLab end
Если ход программы должен меняться в зависимости от нескольких условий, то следует использовать полную конструкцию if - elseif - else. Каждая из ветвей elseif в этом случае должна содержать условие выполнения блока операторов, размещенных после нее. Важно понимать, что условия проверяются подряд: первое выполненное условие приводит к работе соответствующего блока, выходу из конструкции if - elseif - else и переходу к оператору, следующему за end. У последней ветви else не должно быть никакого условия. Операторы, находящиеся между else и end, работают в том случае, если все условия оказались невыполненными. Действительно, полезный пример – вычисление и построение кусочно-заданной функции:
f(x)= Программа вычисления значения данной функции:
Function f=pwf(x) If x<-1, f=1-exp(-1-x); elseif x else f=2-x; end
Для построения графика кусочно-заданной функции pwf(x) следует воспользоваться командой fplot (‘pwf’, [-2, 5]). Построение графика pwf не случайно осуществляется при помощи fplot. Функцией plot воспользоваться не удастся, т.к. требуется предварительно вычислить вектор значений функции от вектора аргументов, а pwf не умеет работать с входным аргументом-вектором. Убедиться в этом можно, построив график pwf командами: x = [-2: 0.1: 5]; y = pwf(x); plot (x, y) Никакой ошибки при выполнении файл-функции не возникает, однако график строится неправильно. Дело в том, что вектор x входит в условия оператора if.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ Задание 1. Напишите файл-программу построения кусочно-заданной функции f(x)= Задание 2. Напишите файл-программу построения кусочно-заданной
f(x)=
ТРЕБОВАНИЯ К ОТЧЕТУ
Отчет должен быть оформлен согласно ГОСТ 7.32-2001 и содержать 1.Титульный лист 2. Цель работы 3. Краткие теоретические сведения 4. Результаты выполнения заданий. 5. Выводы по работе.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как применяется оператор ветвления if? 2. В каких случаях применяется оператор циклов elseif?
ЛАБОРАТОРНАЯ РАБОТА № 10
|
||
|
Последнее изменение этой страницы: 2021-08-16; просмотров: 131; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.33 (5.003 с.) |