Brian_-_Matlab_R2007_s_nulya_33 (771739), страница 43
Текст из файла (страница 43)
(д) Теперь замените в модели 0.5 на 2, то есть рассмотрите новую модель Нарисуйте фазовый вид. (Используйте те же самые исходные данные и тот же квадрат просмотра.) Ответьте на вопросы из пункта (б). Видите ли вы особую траекторию решения, которая выходит примерно из начала координат и подходит к определенной постоянной точке? Видите ли вы другую траекторию, начинающуюся вверху справа и идущую к постоянной точке? Что происходит со всеми распределениями численности вида, которые не начинаются на этих траекториях? (е) Объясните, почему модель (С.4) называют «мирное сосуществование», а модель (С.5) называют «судный день». Теперь объясните эвристически, почему изменение коэффициента от 0.5 до 2 превращает мирное сосуществование в судный день. 12.
ф Постройте модель для программы ВгпидпК, соответствующую следующему уравнению маятника х(1) = — 0.5х(1) — 9.81з1п(х(1)) (С.б) из задачи «Маятник 360'», рассмотренной в главе 10. Вам потребуется блок Тг)попоте1пс гппсбоп (Тригонометрическая функция) из библиотеки Мв1о (Математика).
Используйте вашу модель, чтобы заново построить некоторые из фазовых видов. 13. ф Как вы знаете, Галилео и Ньютон обнаружили, что все тела около поверхности Земли падают одинаковым ускорением д из-за действия силы тяжести, приблизительно равной 32.2 фут/сея~. Однако на тела также действуют силы, вызванные сопротивлением воздуха.
Если мы примем во внимание как силу тяжести, так и сопротивление воздуха, то движущийся шар можно будет смоделировать с помощью следующего дифференциального уравнения х =10,— 8] — с~~х)~х. (С.7) Здесь х — функция от времени 1 — является вектором, определяющим положение шара (первая координата измеряется горизонтально, а вторая — вертикально),х является вектором скорости шара, х должен быть стиль, является ускорением шара, )(х~~ является модулем скорости, то есть, быстротой движения шара. Постоянная с зависит от особенностей поверхности, массы шара и плотности воздуха. (Мы пренебрегаем подъемной силой, вызываемой вращением шара, Практичаскоа занятие С.
Развитие навыков работы с программой МАТЮКАВ 249 которое также может играть главную роль в некоторых случаях, например, при исследовании кривой пути шара, а также пренебрегаем силами, вызванными ветровыми потоками.) Для бейсбольного мяча постоянная о оказывается приблизительно равной 0.0017, предполагая, что расстояния измеряются в футах, а время измеряется в секундах. (Смотрите, например, 18 главу «Шары, броски и подачи» из книги кровчщ 1сеЬег8з, Ра!1(пб Пош)поет, апд ОгЬег Аг(тепгпгез ш Арр11ес( МагЬешайсз» (Буксирование айсбергов, падение домино и другие приключения в прикладной математике), Роберт Банке, издательство Университета Принстона, Принстон, 1998.) Постройте модель для программы 8(пайп(г, соответствующую уравнению (С.7), и используйте эту модель, чтобы изучить траекторию отбитого бейсбольного мяча.
Вот несколько советов. Представьте Х, х и х как векторные сигналы, к которым присоединяются два блока!п1айга1ог (Интегратор). Величина х, согласно (С.7), должна быть получена из блока Зцт (Суммирование) с двумя векторными входными параметрами. Один параметр должен быль блоком Сопя(вп1 (Постоянная) с векторным значением 10, -32.2), представляя силу тяжести, а другой должен представлять модуль на правой стороне уравнения (С.7), вычисленный на основе значения х.
Вы должны быть в состоянии изменить один из параметров, чтобы узнать, что получится как с учетом, так и без учета сопротивления воздуха (случаи о О. 0017 и о 0 соответственно). Соедините результат с блоком ХТ ОгарЬ (График ХУ), с параметрами х-аю.п = О, у-жл.п = О, х-мах = 500, у-ашх = 150, таким образом, вы можете увидеть путь шара до конца, на расстоянии 500 футов от исходного положения и до высоты 150 футов. (а) Пусть х(0) = 10.4] и л(0) = [80, 80). (Это соответствует шару, начинающему движение в г = 0 из исходного положения, 4 фута от основания, с горизонтальной и вертикальной составляющими его скорости равными 80 футов в секунду. Это соответствует скорости мяча приблизительно 77 миль в час, которая является весьма правдоподобной.) Как далеко шар переместится (вы можете это приблизительно увидеть с помощью блока Хг ОгарЬ (График ХУ)) прежде, чем он достигнет основания с учетом и без учета сопротивления воздуха? Сколько времени необходимо, чтобы шар достиг основания, и как быстро шар будет перемещаться (опять необходимо рассмотреть два случая — с учетом и без учета сопротивления воздуха)? (б) Предположим, что игра проходит в Денвере, Колорадо, где из-за разжижения атмосферы вследствие большой высоты нзд уровнем моря о составляет всего лишь 0.0014.
Как далеко шар переместится в этом случае (используйте ту же самую начальную скорость, что и в пункте (а))? (в) (Это не задача для среды МАТ1 АВ.) С помощью сравнения ваших ответов на пункты (а) и (б) оцените, как высота над уровнем моря могла бы повлиять на среднее число отбитых мячей и на среднее число заработанных очков команды Колорадо Рокис. 250 14. й Напишите М-файл для функции (без аргументов и результатов), который просматривает текущую папку, находит последний измененный М-файл и открывает его в редакторе/отладчике.
Если текущая папка не содержит никаких М-файлов, то ваш М-файл должен создать сообщение об ошибке. В идеальном случае, вы должны попробовать написать М-файл таким образом, чтобы он работал как в операционной системе 19~пбоаа, так и в операционной системе ОЫ~Х, но, по крайней мере, чтобы он работал с вашей собственной операционной системой. 15.
ьз Рассчитайте последовательность комплексных чисел, созданную из начального значения з, по правилу з„+1 = г„' — 0.75. Для некоторых значений 2, последовательность чисел уходит в бесконечность по мере возрастания я, но для др)тнх значений з, эта последовательность всегда будет находиться в ограниченной области. Границу набора, состоящего из последних значений з называют набором Джулии для функции Яз) = з' - 0.75.
Используйте функцию )ваде или 1швдеэс, чтобы нарисовать изображение этого набора Джулии. (Совет: набор Джулии приводит к неверным результатам в области, где действительная часты, находится между -2 и 2, а мнимая часть зэ — между -1.5 и 1.5. Создайте сетку для значений зэ в пределах этого прямоугольника (мы предлагаем использовать массив примерно 300 х 100) и вычислите значения зь зэ ..., з„для некоторого я, Выделите точку каждого г цветом согласно тому, насколько большим получилось значение г„. Чем больше вы делаете п, тем более точным (и интересным) будет изображение, но в этом случае вычисления потребуют больше времени, так что начните с относительно маленького значения и и попробуйте увеличить его. ГЛАВА 11.
Разрешение проблем В этой главе мы предлагаем советы, связанные с некоторыми распространенными затруднениями, с которыми вы можете столкнуться. Мы также перечисляем и описываем самые обычные ошибки, которые делают пользователи среды МАТЮКАВ. Наконец, мы предлагаем немного простых, но полезных методик отладки текстов программ ваших М-файлов. Обшие ошибки Ошибки проявляются различными способами: появляется совершенно неожиданный или явно неправильный результат; среда МАТЮКАВ создает сообщение об ошибке (или, по крайней мере, предупреждение); среда МАТЮКАВ отказывается обработать введенную строку; то, что работало ранее, перестает работать; или, в худшем случае, компьютер перестает отвечать. К счастью, эти трудности часто вызываются несколькими легко распознаваемыми и исправляемыми ошибками.
Далее мы приводим описание некоторых распространенных ошибок вместе с предположением вероятных причин, с предложениями возможных решений и с пояснительными примерами. Мы также обращаемся к местам из этой книги, где обсулсдаются связанные вопросы. К общим ошибкам относятся следующие виды ошибок: ° Неправильный или неожиданный результат; ° Ошибки синтаксиса; ° Ошибки написания; ° Сообщение об ошибке или предупреждение при построении графиков; ° Сохраненный ранее М.файл вычисляется по-другому; ° Компьютер не отвечает. Неправильный или неожиданный результат Есть много возможных причин для этой ошибки, но они, вероятно, будут среди следующих. ПРИЧИНА: Не выполнено очищение или переустановка переменных, РЕШЕНИЕ: Очистите или присвойте начальные значения для переменных перед их использованием, особенно при продолжительном сеансе работы.
га' Смотрите эмму «Переменные и ври сваивание в главе 2. ПРИМЕР: предположим, что вы создаете цикл, наподобие следующего 202 МАТ!.АВ » Кот а = 1:10 а и позже в вашем сеансе работы вы вводите комплексное число 2 + 1. Тогда окажется, что на самом деле вы ввели число 12, поскольку в конце цикла переменная 1 становится равной 10. Чтобы восстановить первоначальное значение переменной 1-1, вы должны набрать с1еат х. ПРИЧИНА: Противоречивые определения. РЕШЕНИЕ: Не используйте одно и то же название для двух различных функций или переменных и, в особенности, не используйте названия любой из встроенных функций среды МАТ!.АВ. Вы можете случайно перекрыть один из встроенных М-файлов среды МАТЬАВ либо вашим собственным М-файлом с тем же самым названием, либо переменной (включая, возможно, встраиваемую или безымянную функцию).
Когда получается неожиданный результат и вы считаете, что причиной этого могли быть противоречивые определения, то полезно использовать команду эзмсй, чтобы узнать, к какому М-файлу, функции или переменной на самом деле обращается написанная программа. Эта ошибка проявилась в предыдущем примере, ниже показан еще один, возможно, более выразительный пример. ПРИМЕР: » р1ок = доЕ) » х = -2:0.1:2) » р1ов(х, х. "2) ??? ЯцЬяст1рс 1пс)1сея кшяс е1сЬет Ье теа1 роя1с1че 1пседетя от 1одйса1я.
Где ошибка? Конечно, команда р)о! была перекрыта переменной с таким же на- званием. Вы могли бы обнаружить это с помощью » мЬ1с)з р1ок р1ос 1я а чат1аЬ1е. Если вы наберете с1еах р1ок и выполните команду р)о1 снова, то вы получите изображение желаемой параболы. Более тонкий пример мог бы получиться, если бы вы сделали так сознательно, не думая, что вы будете использовать команду р)о1, а затем вызвали бы некоторый другой графический М-файл, который использует эту программу косвенно. ПРИЧИНА: Затирание переменной впв. РЕШЕНИЕ: Сохраняйте результат, который вы намереваетесь использовать в дальнейших вычислениях, в переменных с различными именами.
Если в некоторый момент сеанса работы вы решаете, что вам необходимо обратиться к предшествующему результату, для которого не была введена переменная Глава 11. Разрешение проблем с собственным именем, тогда присвойте переменной результата название и выполните команду снова. (Чтобы повторно вызвать команду для редактирования, можно использовать клавишу ~ 7~ или окно Сопипапо Нгв1огу (История команд.) Не полагайтесь на переменную вгев, так как зта переменная, вероятно, будет перезаписана прежде, чем вы выполните команду, которая ссылается на предшествующий результат. ПРИЧИНА: Неправильное использование встроенных функций. РЕШЕНИЕ: Всегда используйте названия встроенных функций точно так, как среда МАТСАВ определяет их. Всегда заключайте входные параметры в круглые скобки, а не в квадратные и не в фигурные скобки, всегда перечисляйте входные параметры в необходимом порядке.