Матлаб. К. Ю. Петрова введение в matlab учебное пособие
Скачать 2.57 Mb.
|
3а. Пусть в рабочем пространстве была описана переменная global a . Ниже приведен текст функции: function f=mufunc a=1:10; f=sum(a); После ее выполнения чему будет равна глобальная переменная a? Ответ: Она не изменит своего значения, поскольку в функции переменная а локальная (слово « global » не использовалось). 3б. Что произойдет при запуске на выполнение функции mufunc1? function f=mufunc1 a=a+1:10; f=fum(a); Ответ: Будет выдано сообщение об ошибке (см. предыдущий ответ). 4. Попробуйте запустить следующий фрагмент кода s=(1:3)'; k=0; for i=s k=k+i; end k Поясните результат. Ответ: Поскольку s – столбец, будет получен результат k = 121 1 2 3 Цикл вызовется всего один раз со значением i=[1 2 3]' 5. а) Что нужно изменить, в условиях предыдущей задачи, чтобы получить k=6 ? б) Как добиться того же результата, если s={1,2,3}? Ответ: Надо задать s=1:3 , а не s=(1:3)' б) Организовать цикл по индексам. 6. Предположим, имеются две одноименные функции myfunc , расположенные в каталогах dir1 и dir2 Как определить, какая именно из них была запущена? Придумайте хотя бы 3 способа. Ответ: Способ 1: вставить в оба файла метки типа display(1) и display(2), запустить, функцию и посмотреть, какое сообщение появится на экране ( 1 или 2 ). Способ 2: посмотреть в путях, какой каталог находится выше. Способ 3: использовать команду which. 7. Напишите функции, вычисляющие числа Фибоначчи при помощи циклов for, while и вообще без циклов. Указание. Воспользуйтесь функцией sum/cumsum. Другие варианты: использовать формулу Бине, команду iztrans, команду initial для соответствующей дискретной системы 8. Предположим, в вашей функции myfunc1 при некотором условии выводится сообщение об ошибке error('Something wrong'); Вызывая эту функцию из другой функции myfunc2, Вы хотите, чтобы ошибка при выполнении функции myfunc1 не прекращала выполнения вызывающей функции. Как этого добиться? Указание. Воспользуйтесь командами try/catch. 9. Предположим, в рабочем пространстве есть переменная a. Как при этом вызвать программу с именем a.m ? Ответ: Следует переименовать программу либо изменить имя переменной. 10. Найдите ошибку в коде k=7 if k=8 disp('k=8!') end Ответ: Следует написать if k= =8 (не присвоить =, а сравнить = =). 122 Заключение Пакет MATLAB – это удобное и быстро осваиваемое программное средство, которое позволяет эффективно решать широкий круг задач линейной алгебры, численного анализа, обработки сигналов, моделирования систем управления и многих других. Пакет представляет собой обширный, хорошо развитый программный комплекс, содержащий около 1000 команд, 30 тулбоксов, а также систему визуального моделирования SIMULINK с расширениями. Он может обмениваться данными с другими популярными пакетами и приложениями, такими как EXCEL, WORD, MAPLE. В настоящем пособии описана лишь небольшая часть его возможностей. Для желающих продолжить освоение пакета и применять его для решения учебно-методических задач и научных исследований можно рекомендовать более полные руководства, например, книги [1-5, 10, 11, 13]. Для того чтобы в полной мере использовать его возможности, нужна определенная математическая квалификация, соответствующая высокому интеллектуальному уровню команд MATLAB. Поэтому начинающим пользователям пакета можно пожелать наряду с освоением системы команд MATLAB совершенствовать свою математическую подготовку – обе эти компоненты в равной степени необходимы для эффективного применения MATLAB. Библиографический список 1. Ануфриев И. Е. Самоучитель MatLab 5.3/6.х. -СПб.: БХВ-Петербург, 2003. 2. Дьяконов В., Круглов В. Математические пакеты расширения MATLAB. -СПб.: Питер, 2001. 3. Дьяконов В.П. MATLAB 6/6.1/6.5 + SIMULINK 4/5 в математике и моделировании. -М.: Солон-Пресс, 2003. 4. Дэбни Дж., Хароган Т. SIMULINK 4. Секреты мастерства. -M.: Бином, Лаборатория знаний. 2003. 5. Кетков Ю., Кетков А., Шульц М. MATLAB 6.x: программирование численных методов. -СПб.: БХВ-Петербург, 2004. 6. Конев В.Ю., Мироновский Л.А. Основные функции пакета MATLAB. Уч. пособие. - СПб., ГААП, 1994. 7. Мальцев А.И. Основы линейной алгебры. -М.: Наука, 1970. 8. Мироновский Л. А. Моделирование динамических систем. Уч. пособие. СПб., ГААП, 1992. 9. Мироновский Л. А. Моделирование разностных уравнений. Уч. пособие. -СПб., ГУАП, 2004. 10. Половко А.М., Бутусов П.Н. Matlab для студентов.-СПб: БХВ-Петербург, 2005. 11. Потемкин В. Г. MATLAB 6: среда проектирования инженерных приложений. М.: Диалог-МИФИ, 2003. 12. Сергиенко А. Цифровая обработка сигналов. -CПб.: Питер, 2002. 13. Фаддеев Д. К. Лекции по алгебре: Учебное пособие для вузов. 2-е изд. -СПб.: Издательство "Лань", 2002. 14. Чен К., Джибмю П., Ирвинг А. MATLAB в математических исследованиях. -М., Мир. 2001. |