Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
17.04.2013
Размер:
5.59 Кб
Скачать
Лабораторная работа 1. Знакомство с пакетом Matlab.

1. Скопировать с диска I: на диск H: файл matlab.ug и затем открыть его из
MATLAB Command Window (Меню: File, Open M-file выбрать диск, маска файлов *.*).
Вы можете затем ознакомиться с содержащейся в нем информацией. Оставить блокнот
с ним открытым для возможного постоянного к нему доступа командой Alt+Tab.

2. В окне команд запустить программу demo, после остановки вращения
картинки нажать кнопку Continue, нажать Vizit в разделе MATLAB, в разделе
MATRICES открыть Select a demo и выбрать тему Intro - введение. Нажмите кнопку
Start, затем Next и т.д. Вам будут демонстрироваться возможности MATLAB с
текстовыми комментариями.

3. Просмотреть файл matlab.ug в индивидуальном режиме, здесь уже на
русском языке Вы встретите пояснения к некоторым возможностям MATLAB, показанным
в Intro.

4. Приступить к самостоятельной работе по предлагаемым ниже заданиям.
С помощью команды diary (см. help diary) создать файл отчета rep1.txt на диске H:,
в который будут автоматически копироваться введенные команды и результаты их работы.

5. Ввести векторы строки x=[1 1.1 1.2 1.3 1.4 1.5] и y=[1 2 3 4 5 6].
Транспонировать их. Найти сумму, разность, их линейную комбинацию с коэффициентами
3 и 5, не изменяя значений переменных x и y. Вычислить скалярное произведение,
почленное произведение и произведение соответствующих многочленов (функция conv).
См. matlab.ug пп.: 1, 3, 4.

Как можно было бы быстро ввести векторы y, x, используя начальное и
конечное значение и шаг?

6. Создать процедуру MATLAB (m-файл).
Команды, которыми выполнялись действия п. 5 скопировать во вновь созданный
текстовый файл (с раширением .m) с именем pr1. Удалить в pr1.m все лишнее,
оставив только команды. Сохраните его и в окне команд MATLAB вызовите этот
файл-процедуру на выполнение, набрав после приглашения >> только имя этого m-файла,
т.е. pr1 и нажмите Enter. Произойдет последовательное выполнение этих команд с выводом
на экран результатов.

Внимание! Если Вы хотите подавить вывод какого-либо результата на экран, то
завершите ввод команды точкой с запятой. Команда будет выполнена, но результат
не появиться на экране.

В файле pr1.m подавите все вывод всех команд, кроме
последней, сохраните файл и снова вызовите на выполнение.

Откройте файл отчета (rep1.txt), отредактируйте его,
оставив только содержательную информацию о своих действиях по пп. 5 и 6
и покажите преподавателю.
-------------------------------------------------------------------------------

7. Создать матрицу А размера 2х3 из единиц (см. help ones) и В размера
3х2 из нулей (см. help zeros).

8. Командами who и whos просмотреть содержимое памяти. В чем разница
между этими командами?

9. Заполнить матрицу А компонентами вектора х, а матрицу В компонентами
вектора у. Найти произведение АВ. Коммутативно ли оно? Создать матрицу С из
матрицы В так, чтобы элементы второго столбца были больше четырех. Создать
матрицу D сначала из двух столбцов матрицы А, затем из первого и третьего
столбца. См. matlab.ug п. 4.

10. Изменить первую координату вектора х на -6 и ввести восьмую
координату равную модулю первой координаты. Транспонировать х.

11. Создать матрицу Е, приписав к матрице А третью строку из чисел 7 8 и
9. Транспонировать ее. Найти ее ранг (см. help rank), убедиться в линейной зависимости
строк. Переопределить элемент Е(3,3) равным 10.

12. Для матрицы Е найти ранг, определитель (см. help det),
обратную матрицу (см. help inv), собственные векторы и собственные значения (см. help eig).
Сделать проверку полученных результатов для собственных векторов.

Действия по пп. 7-12 показать преподавателю в файле отчета rep1.txt.
-------------------------------------------------------------------------------

13. Переопределить матрицу Е(i,j)=sin(i*j), размера 3х3, используя
оператор цикла for (см. help for).

Указание: цикл можно записать в одной командной строке for i=1:3,for
j=1:3,E(i,j)=sin(i*j),pause,end,end При этом наличие оператора pause позволит
Вам наблюдать результаты выполнения каждого шага цикла. Повторите цикл, сначала
убрав этот оператор а затем и подавив вывод результато вычислений на экран (; в
конце оператора). В последнем случае выведете на экран матрицу Е и сравните
результаты.

Повторите с матрицей Е вычисления пункта 12.

Попробуйте ввести цикл "красиво":

for i=1:3
for j=1:3
E(i,j)=sin(i*j);
end
end

14. Очистите память (clear), буфер команд (clc), просмотрите содержимое
памяти (who, whos).

15. Создать вектор из 100 равномерно распределенных случайных значений
(см. help rand). Построить гистограмму для этого вектора на 100 "карманов"
(см. help hist).

Действия по пп. 13-15 показать преподавателю в файле отчета rep1.txt.
-------------------------------------------------------------------------------

16. Можно выполнить команду diary off, чтобы прекратить автоматическое
пополнение файла отчета.

17. Создайте процедуру pr2.m, которая формирует в матрицу S размерности 3x4
следующего вида и выводит ее значение:

S =
2 -1 0 0
-1 2 -1 0
0 -1 2 -1

Использовать операторы for, if, elsif, else.

18. Выполните пример построения поверхностей (help mesh, help meshgrid):

[X, Y] = meshgrid(-2:.2:2, -2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
mesh(Z)

Выполните также команды mesh(X), mesh(Y), mesh(X,Y,Z).
Соседние файлы в папке Lab1