Приобретение навыков программирования на языке Matlab

Автор работы: Пользователь скрыл имя, 09 Ноября 2012 в 19:23, контрольная работа

Описание работы

1.1. Ознакомление с системой Matlab, приобретение навыков работы.
1.2. Ознакомление с языком программирования Matlab.
1.3. Приобретение навыков программирования на языке Matlab.

Содержание работы

1. Цель работы.........................................................................................................3

2. Порядок выполнения работы.............................................................................3

3. Выполнение работы............................................................................................4

4. Заключение.........................................................................................................11

5. Литература.........................................................................................

Файлы: 1 файл

Математика.doc

— 300.00 Кб (Скачать файл)

 

Содержание

 

1. Цель работы.........................................................................................................3

 

2. Порядок выполнения работы.............................................................................3

 

3. Выполнение работы............................................................................................4

 

4. Заключение.........................................................................................................11

 

5. Литература.........................................................................................................12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Цель работы

 

1.1. Ознакомление с системой Matlab, приобретение навыков работы.

1.2. Ознакомление с языком программирования Matlab.

1.3. Приобретение навыков программирования на языке Matlab.

 

2. Порядок выполнения работы

 

2.1. Ознакомиться с системой Matlab, ее запуском и работой в ней по справочному пособию и учебнику.

 

2.2. Разработать m-файл-сценарий для вывода в графическое окно графика

функции одной переменной с помощью  программы plot. Функцию взять из

табл. 1.1 в соответствии с номером  своей бригады и кодом подгруппы 

(а или б).

Функцию оформить в виде m-файла-функции.

 

2.3. Разработать m-файл-сценарий для вывода в одно графическое окно

контурных графиков двух функций двух переменных на уровне Z1 = 0 ,

Z2 = 0 

с помощью программ meshgrid и contour. Функции взять из табл. 1.2 в соответствии с номером своей бригады и кодом подгруппы. Функции оформить в виде m-файлов-функций.

 

2.4. Разработать m-файл-сценарий для вывода в графическое окно графика

функции двух переменных с помощью программ meshgrid, mesh и meshс для

одной из функций табл. 1.2 в соответствии с номером своей  бригады и кодом

подгруппы. Функцию оформить в виде m-файла-функции.

 

 

3. Выполнение работы

 

3.1. Ознакомимся с системой Matlab, ее запуском и работой в ней по справочному пособию и учебнику.

 

3.2.  Согласно варианту задания, функция имеет вид:

Напишем для неё m-файл функцию:

function y = y_8a(x)

y = 2 .^ x + x .^ 2 – 1,15;

Заданный аргумент х является вектором, следовательно 2^x и x^2 тоже вектора. Поскольку Matlab умножает (возводит в степень) вектора в матричной форме, то перед оператором ^ следует поставить точку. Таким образом  умножение будет произовдиться поэлементно.

 

Сохраним m-функцию под именем y_8a.m

 

Розработаем m-файл-сценарий для вывода в графическое окно графика

функции.

        3.2.1. Сформируем вектор х с диапазоном значений от -8 до 6

                  (диапазон был выбран эксперементально, для наглядности), и

                  шагом 0.1:

                  x = -8:0.1:6;

        3.2.2. Получим вектор y путём вычисления функции y от каждого x:

                  y = y_8a(x);

        3.2.3. Создаём графическое окно и присваеваем ему первый номер:

                  figure(1);

        3.2.4. Строим график функции с помощью программы plot:

                  plot(x,y);

        3.3.5. Отображаем координатную сетку:

                grid on;

        3.3.6. Подпишем ось х:

                  xlabel('x');

        3.3.7. Подпишем ось y:

                  ylabel('y');

        3.3.8. Подпишем график функции:

                  title('8a');

В итоге имеем код  и сам график:

x = -8:0.1:6;

y = y_8a(x);

figure(1);

plot(x,y);

grid on;

xlabel('x');

ylabel('y');

title('8a');

       

Рис. 1. График функции

построенный при  помощи программы plot.

3.3 Соотвецтвенно варианту, функции имеют вид:

    

Напишем m-файл функцию для каждой из них:

function z1 = z1_8a(x,y)

z1 = -cos(x + 1) + 2 .* y;

 

function z2 = z2_8a(x,y)

z2 = x + sin(y) + 0,4;

Сохраняем их под именами, соотвецтвенно, z1_8a и z2_8a.

Напишем m-файл-сценарий для построения графиков.

Функция meshgrid используется для созданий матриц X и Y, состоящих из повторяющихся строчек и столбцов. Причем строки матрици Х представляют собой копии вектора х, строки матрици Y – аналогично. Итак имеем:

x = -4:0.1:4;

[X,Y] = meshgrid(x,x);

 

Полученные матрици  используем для вычисления и отображения  значения первой функции. Далее создаем  новое графическое окно уже извесной нам командой figure ( параметры не указываем, иначе не будут меняться масштабы графиков).

Для выведения обеих графиков в одно окно, сперва разобьём его на две части, после отобразим каждый из графиков в своей половине. Для этого воспользуемся командой subplot. Итак имеем:

 

subplot(2,1,1);

Третий параметр - активирует первую половину графического окна.

Для отображения требуемого контурного графика воспользуемся  командой:

 

Contour(X, Y, z1, [0 0]);

[0 0] – проводит линию на уровне z1 = 0 соотвецтвенно заданию.

 

Затем отображаем координатную сетку командой grid on;

По анологии с первым заданием подписываем оси и график.

 

Для удобства, во втором графике возьмем диапазон y отличный от x.

 

Все диапазоны значений переменных взяты эксперементально.

 

В результате получаем код:

x = -4:0.1:4;

[X,Y] = meshgrid(x,x);

z1 = z1_8a(X,Y);

 

figure;

 

subplot(2,1,1);

contour(X, Y, z1, [0 0]);

colormap cool;

 

grid on;

xlabel('x');

ylabel('y');

title('z1');

 

%----------------------

 

x = -2:0.1:2;

y = -10:1:10;

[X,Y] = meshgrid(x,y);

z2 = z2_8a(X,Y);

 

subplot(2,1,2);

contour(X, Y, z2, [0 0]);

 

grid on;

xlabel('x');

ylabel('y');

title('z1');

 

сохраняем его под  именем contour_8a.

 

 

Рис. 2. Контурные графики  функций двух переменных,

построенные при помощи программы contour

и выведенные в одно графическое  окно.

 

3.4 Согласно заданию, выберем одну функцию из приведенных выше. Итак возьмем функцию:

Поскольку m-файл сценарий функции для неё уже написан, то перейдем непосредственно к написанию m-файла сценария построения графика.

 

Программа mesh используется для построения обьёмного графика-сетки.

 

Поскольку использоваение остальных необходимых команд уже описывалось в работе ранее, то перейдем сразу к коду. Итак имеем:

 

x = -10:0.2:10;

y = -10:0.5:10 ;

[X,Y] = meshgrid(x,y);

z2 = z2_8a(X,Y);

 

figure;

mesh(X, Y, z2);

 

Полученый график сохраним под именем Mesh_8a.

Рис. 3. График функции z2 построеный с использываением

программы mesh

Программа Meshc используется совместно с программой Mesh и всего лишь дорисовывает контур на нижней плоскости. Для получения конечного кода вставим данную команду к уже имеющемуся, итак:

x = -10:0.2:10;

y = -10:0.5:10 ;

[X,Y] = meshgrid(x,y);

z2 = z2_8a(X,Y);

 

figure;

mesh(X, Y, z2);

 

meshc(X, Y, z2);

 

Получаем график:

Рис. 3. График функции z2 построен с использоваением

программ mesh и meshc.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

В ходе выполнения контрольной  работы я ознакомился с системой Matlab, приобрел необходимые для её выполнения навыки. В часности ознакомился с языком програмирования данной системы. Освоил различные функции и команды для построения графиков одной и двух переменных. Убедился в полезности и удобстве Matlab.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Литература

1. Курбатова Е. А. MATLAB 7. Самоучитель. Диалектика. 2005 год. 256 ст.

2. Официальная  документация Matlab.

 

 

 

 

 

 

 

 

 

                                                                                                                  

 

 

 

 




Информация о работе Приобретение навыков программирования на языке Matlab