Главная » Просмотр файлов » Brian_-_Matlab_R2007_s_nulya_33

Brian_-_Matlab_R2007_s_nulya_33 (771739), страница 25

Файл №771739 Brian_-_Matlab_R2007_s_nulya_33 (MatLabUchebnik) 25 страницаBrian_-_Matlab_R2007_s_nulya_33 (771739) страница 252016-10-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 25)

Для этого в программе МАТ(АВ существует команда мЬз.1е. сз Используя команду иЬ11е, можно легко случайно создать «бесконечный цикл», который будет выполняться бесконечно, так как заданное вами условие никогда не возникнет. Помните, что прервать выполнение такого цикла вы можете с помощью клавиатурного сочетания ЩЩ в против. ном случае вам придется закрьггь программу МАТ).АВ. Неограниченные циклы Ниже представлен простой пример М-файла — сценария, который использует команду иЬ11е для числового суммирования бесконечной серии 1/1' + 1/2' + 1/3" + ..., которое останавливается только тогда, когда элементы становятся настолько малыми (сравнимо с машинной точностью), что числовая сумма перестает изменяться.

в=1) о14 = -1; пеившв = 0) иЬ11е пемвша > о1евшв о1евша = пеъгвшаз пеивша = пемвша + п*(-4)) п п + 1) Здесь мы устанавливаем переменную пеивша равной нулю и п равной 1, затем в цикле мы последовательно добавляем п" (-4) к пеивит, добавляем 1 к п и повторяем цикл. Назначение переменной о1овша состоит в том, что эта переменная МАТ(.АВ 128 отслеживает, насколько изменяется переменная пеииит от одной итерации к следующей. Каждый раз, когда программа МАТЮКАВ достигает конца цикла, она начинает цикл снова с выражения мЬх1еь Если переменная пеияизв больше о1с)иияь содержимое выражения иЬ11е является истинным и цикл выполняется снова. Но когда выражение в первый раз становится ложным, что произойдет, когда пвнзвит станет равно о1аяюв, программа МАТсАВ переходит к выражению епй и выполняет следующую строку, которая отображает конечное значение пемяизк (результат равен 1.0823 до 5 значащих цифр).

Начальное значение -1, которое мы придали переменной о1йяит, является произвольным, но оно должно быть отрицательным, чтобы при первом выполнении выражения мЬз1е его содержимое было истинным; если мы придздим переменной о1йиизв значение О, тогда программа МАТЕАВ перейдет к выражению епй без какого-либо выполнения команд в цикле.

$Г Несмотря на то, что вы можете составить М-файл, как показано выше, без точного определения количества запусков цикла, тем не менее, может быть полез. ным задать это количество хотя бы приблизительно. Так как вычисления с плавающей точкой на большинстве компьютеров выполняются с точностью до 16 десятичного знака, представленный выше цикл будет запускаться, пока и" (-4) не достигнет величины 10* (-16); то есть пока и не станет равна 10 "4. Таким образом, на большинстве компьютеров вычисление займет очень мало времени. Однако, если степень будет равна 2, а не 4, вычисление будет состоять из 10"8 операций, что отнимет много времени на большинстве современных компьютеров — достаточно много, чтобы поискать более эффективный способ суммирования серий, например, используя команду я1нвяияь если у вас установлен модуль ЗугпЬойс МвФ Тоо!Ьох (Инструментарий символьной математики).

влг Хотя здесь мы классифициювали команду ьгЬ11е как ииклическую, она также может быть командой ветвления. В действительности типы рафешенных въфажений и методов вычисления для въфажения мЬ11е являются точно такими же, как и для вьфажения зк. Скот)зите всчше фаздел «Леваческие вы(зажения», чтобы. познакомиться ближе с возможными вьфажениями, котсфые можно вводить внутрь вьфажения ьгЬз1 е. Прерывание цикла Иногда бывает необходимо, чтобы программа МАТьАВ преждевременно вышла из цикла бок, например, при возникновении определенного условия. Или в цикле иЬ11е может быть вторичное условие, когда необходима проверка в дополнение к основному условию в выражении иЬ11е.

Внутри любого из этих типов цикла вы можете использовать команду Ькев)с, чтобы заставить программу МАТ(.АВ остановить выполнение цикла и перейти к следующей строке после конца цикла. Команда Ькев)с в основном используется в составе выражения 16. В представ. ленном ниже М-файле-сценарии вычисляется та же сумма, что и в предыдущем примере, за исключением того, что в нем вводится точное значение верхнего предела количества итераций. 127 Глава 6.

Программирование аеввож = 0 Бог о = 1:100000 о14виж = пеевша) иенвша = иеевиза + и"(-4)г Н оы Ьгеа)с иеевиж В зтом примере цикл останавливается после того, как и достигает величины 100000 или когда переменная иемвиж останавливает изменение, причем неважно, что происходит первым. Обратите внимание, что команда Ьгеа)с игнорирует выражение еио, ассоциированное с хй, и переходит далее к ближайшему выражению еш), ассоциированному с командой цикла, в данном случае — с командой аког. Аругие команды программирования Ниже рассматриваются дополнительные команды и техники программирования. Подфунк((ми Кроме применения в первой строке в М-файле-функции команда хииск1ои может использоваться и далее в М-файле для задания вторичной функции, или подфункции, которая может быть использована везде в пределах М-файла, но не будет доступна напрямую из командной строки.

Например, в представленном ниже М-файле суммируются кубические корни вектора х вещественных чисел: йиаскйоа у = вшасиЬегоокв(х) у ~ виза(сиЬегоок(х) ); Ъ ---- ЯиЬйиисойои вФагФв Ьеге. хиосв1ои в сиЬегоов (х) г = вхви(х) .+вЬв(х) ."(1/3) г Здесь подфункция сиЬегоос извлекает кубический корень х позлементно. Подфункции можно использовать только в М.файле-функции, но не в М-файле- сценарии. В качестве примеров применения подфункций вы можете посмотреть многие встроенные М.файлы-функции программы МАТ(АВ.

Например, при вводе команды куре екр1оо будет отображено три различных подфункции. 128 МАТ~АВ Массивы ячеек и структур В главе 4 мы рассмотрели несколько типов данных; ранее в этой главе познакомились с еще одним типом, а именно — с логическими массивами. Два других типа данных, полезных в программировании МАТ[.А — это массивы ячеек и массивы структур. В сущности, массивы ячеек представляют собой «массивы массивов»; элементы массива ячеек могут иметь различные типы данных и различные размеры. Пустой массив ячеек создается с помощью команды са11, но более распространенным способом его создания является способ с использованием фигурных скобок: » са = (1, [2 3], 'еоиг') са = [1] [1х2 доиЫе] 'гонг' Фигурные скобки используются также для доступа к определенному элементу ячейкового массива; например, введите команду са(2), чтобы отобразить второй элемент из са.

Массивы структур похожи на структуры в языках программирования, подобным языку С; они позволяют присваивать имена элементам массива, а не нумеровать их. Как и в массивах ячеек, элементы могут иметь различные типы и размеры. Одним из способов создания массива структур является команда вегасе: » ва = вегасе( 'дава', [1 4 9 16 25], 'девсг1рс(оп', 'регресс вс(аагев') даТа: [1 4 9 16 25] денег(ре(оп: 'регресс вс]цагев' Для доступа к определенному элементу, или «полю», введите имя массива и нмя поля, разделив их точкой, например, ва.дага.

Вы можете использовать такой же синтаксис для создания и добавления полей к структурному массиву. Другой способ определения массива ва производится с помощью представленных ниже команд: » аа = вггпсг) » аа.дава [1 4 9 16 25]) » аа.девсгзрг1оп 'регеесг всиагев' Первая команда определяет [задает) пустую структуру, а последующие команды добавляют к ней поля. 1Г Программа МАТ[АВ имеет также знаковые и беззнаковые целочисленные типы данных; в качестве примера см. онлайновую справку для команд 1пг32 и ивпв32. Глава 6. Программирование Команды лля синтаксического разбора ввола и вывода 129 Возможно, вы заметили, что многие функции в программе МАТ(АВ позволяют варьировать тип и/или количество аргументов, которые вы задаете в качестве параметра ввода в функции. Вы можете использовать команды пагдап, пагдсис„ чагагдап и чагагдопк в своих собственных М-файлах, чтобы управлять различным количеством аргументов ввода и/или вывода, тогда как для раздельной обработки различных типов аргументов ввода можно использовать команды авш1пегас, авсЬег и т.д.

Когда М-файл-функция выполняется, функции пагдХп и пагдсппг сообщают, соответственно, о количестве аргументов ввода и вывода, которые были заданы в командной строке. Чтобы проиллюстрировать использование команды пагдап, рассмотрим представленный ниже М-файл аб(с(.пз, в котором суммируются два или три аргумента ввода. 4 ав в = ааа(х. у.

а) 44 пагдап < 2 еггог('лг 1еавг гмо апрашу агдшаепкв аге гедпзгее.') епс И пахдзл == 2 в=и+у) е1ве в =х+у+ и) епо Чтобы разрешить большее количество возможных значений ввода в файл адб(.щ, можно добавить дополнительные аргументы в первую строку М-файла и добавить больше вариантов (случаев) для команды пагдХп. Лучший способ сделать это— использовать аргумент ввода чагагдап. Сначала М-файл проверяет, не было ли задано менее двух аргументов ввода, и если это так, то выводится сообщение об ошибке и файл закрывается.

Характеристики

Тип файла
DJVU-файл
Размер
4,1 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее