Многомерные вычисления в MatLab

Подготовка к работе.

1. По указанной литературе изучить:

- правила организации вложенных циклов,

- правила получения многомерных результатов,

- вывод многомерных данных в табличной форме,

- объемная графика,

- контурная графика.

2. Разработать алгоритмы решения задач из варианта задания.

3. Составить программы решения задач.

Контрольные вопросы

1. Организация вложенных циклов.

2. Правила задания многомерных функций.

3. Связь двумерной функции с матрицей для вывода графиков.

4. Вывод многомерных результатов в форме таблицы.

5. Трехмерная графика в аксонометрии.

6. Трехмерная графика с функциональной окраской раскраской.

7. Трехмерная графика с функциональной раскраской и проекцией.

8. Контурная графика.

9. Объемная контурная графика.

10.Объемная графика с освещением.

Задание к работе

Задача 1. Двумерная функция и объемные графики в своих окнах.

Ввести исходные данные.

Вычислить двумерную функцию.

Вывести функцию в виде 5 трехмерных графиков разного типа.

Вывести функцию в виде 2 контурных графиков разного типа.

Задача 2. Двумерная функция и объемные графики в подокнах общего окна.

Варианты заданий

№ п/п Функция Пределы изменения
    X У
z=sin(x)cos(y) от -2 π до 2 π от -2 π до 2 π
z=sin(x/2)cos(y) от -2 π до 2 π от -2 π до 2 π
z=sin(2x)cos(y) от -2π до 2 π от -2 π до 2 π
z = sin(x)cos(y/2) от -2 π до 2 π от -2 π до 2 π
z = sin(x/2)cos(2y) от -2 π до 2 π от -2 π до 2 π
z = sin(2x)cos(2y) от -2 π до 2 π от -2 π до 2 π
z= (1+sin(x)/x)(sin(y)/y) от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)cos(y) от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)|cos(y)| от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)y от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)|y| от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)sin(y) от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)|sin(y)| от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)(1-y) от -2 π до 2 π от -2 π до 2 π
z = (sin(x)/x)|y+0.5| от -2 π до 2 π от -2 π до 2 π

Методические указания

1. Формирование задач. В работе предусмотрены 2 задачи, в каждой из которых вычисляется двумерная функция, описывающая объемную фигуру, и строятся поверхностные и контурные графики с использованием различных графических функций. В первой задаче каждый график выводится в свое окно, во второй в подокна общего окна.

2. Представление матриц. Значения матрицы выводятся в текстовой форме построчно. Если столбцы в экране не умещаются, происходит разбиение на группы столбцов, которые выводятся последовательно. Организовать табличный вывод матрицы с использованием функции fprintf().

3. Поверхностный и контурный графики. Для формирования поверхностного или контурного графика необходимо:

o задать число точек по координатам X иУ,

o создать вложенные циклы по X иУ, вычислить функцию Z=f(X,Y),

o ввести номер графического окна, вывести туда график выбранного типа.

4. Следует использовать графики:

трехмерный с аксонометрией, функция plot3(X,Y,Z),

трехмерный с функциональной окраской, функция mesh(X,Y,Z),

трехмерный с функциональной окраской и проекцией, функция meshc(X,Y,Z),

трехмерный с функциональной окраской и проекцией, функция surf(X,Y,Z), контурный, функция contour(X,Y,Z),

объемный контурный, функция contour3(X,Y,Z),

трехмерный с освещением, функция surfi(X,Y,Z).

5. В каждом окне можно рисовать несколько графиков с наложением друг на друга. В списке параметров для каждого графика параметры перечисляются группами последовательно (в работе график для окна один). В каждую группу входят:

- X - первая координата площадки основания,

- Y - вторая координата площадки основания,

- Z - значение функции.

Пример выполнения

Задание

Функция f = sin(х) .

Пределы изменения аргументов от -2π. до..2π

% Задача 1

% Число точек и шаг

N=40;

h=pi/20;

% Расчет матрицы

for n=1:2*N+1

if n==N+1 A(n)=1; else A(n)=sin(h*(n-N-1))/(h*(n-N-1));

end; end;

for n=1:2*N+1

for m=1:2*N+1 Z(n,m)=A(n)*A(m);

end; end;

% Задание площадки

[X,Y]=meshgrid([-N:1:N]);

% Вывод графика в аксонометрии в окно 1

figure(1); plot3(X,Y,Z);

% вывод трехмерного графика с функциональной окраской в окно 2

figure(2); mesh(X,Y,Z);

% вывод 3-мерного графика с функциональной окраской и проекцией в окно 3

figure(3); meshc(X,Y,Z);

% вывод трехмерного графика с проекцией в окно 4

figure(4); surf(X,Y,Z);

% Вывод контурного графика в окно 5

figure(5); contour(X,Y,Z)

% Вывод объемного контурного графика в окно 6

figure(6);

contour3(X,Y,Z)

% Вывод объемного графика с освещением в окно 7

figure(7); surfl(X,Y,Z)

% Задача 2

% Число точек и шаг N=40; h=pi/20;

% Расчет матрицы

for n=1:2*N+1

if n==N+1 A(n)=1; else A(n)=sin(h*(n-N-1))/(h*(n-N-1)); end; end;

for n=1:2*N+1

for m=1:2*N+1 Z(n,m)=A(n)*A(m);

end; end;

% Задание площадки

[X,Y]=meshgrid([-N:1:N]);

% Вывод графика в аксонометрии в подокно 1

subplot(3,3,1),plot3(X,Y,Z);

% вывод трехмерного графика с функциональной окраской в подокно 2 subplot(3,3,2),mesh(X,Y,Z);

% вывод трехмерного графика с функциональной окраской и проекцией

% в подокно 3

subplot(3,3,3),meshc(X,Y,Z);

% вывод трехмерного графика с проекцией в подокно 4

subplot(3,3,4),surf(X,Y,Z);

% Вывод контурного графика в подокно 5

subplot(3,3,5),contour(X,Y,Z)

% Вывод объемного контурного графика в подокно 6

subplot(3,3,6),contour3(X,Y,Z)

% Вывод объемного графика с освещением в подокно 7

subplot(3,3,7),surfi(X,Y,Z)


Лабораторная работа № 5