- •Методические указания
- •"Компьютерные технологии и программирование"
- •Лабораторная работа № 1
- •Общие сведения.
- •Задание:
- •Реализация хлебобулочных изделий в булочной № 2
- •Реализация хлебобулочных изделий в чайной “Русский чай”
- •Лабораторная работа № 2
- •Методические указания
- •Пример выполнения
- •Задание на работу
- •Контрольные вопросы
- •Лабораторная работа № 3
- •Методические указания
- •Задание на работу
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 4
- •Задание на работу
Контрольные вопросы
Структура окна редактора SciLab.
Правила ввода команд.
Правила ввода функций и операндов.
Правила ввода выражений.
Организация циклов.
Правила ввода комментариев.
Правила просмотра результатов операций.
Правила создания двумерных графиков.
Запуск и отладка программ.
Лабораторная работа № 3
ТЕМА: «МНОГОМЕРНЫЕ ВЫЧИСЛЕНИЯ В SCILAB»
ЦЕЛЬ РАБОТЫ:
По указанной литературе изучить:
правила организации вложенных циклов,
правила получения многомерных результатов,
вывод многомерных данных в табличной форме,
объемная графика,
контурная графика.
Разработать алгоритмы решения задач из варианта задания.
Составить программы решения задач.
Методические указания
Формирование задач. В работе предусмотрены 2 задачи, в каждой из которых вычисляется двумерная функция, описывающая объемную фигуру, и строятся поверхностные и контурные графики с использованием различных графических функций. В первой задаче каждый график выводится в свое окно, во второй в подокна общего окна.
Представление матриц. Значения матрицы выводятся в текстовой форме построчно. Если столбцы в экране не умещаются, происходит разбиение на группы столбцов, которые выводятся последовательно. Табличный вывод в SciLab, как в MathCAD, не предусмотрен.
Поверхностный и контурный графики. Для формирования поверхностного или контурного графика необходимо:
задать число точек по координатам X и Y,
создать вложенные циклы по X и Y, вычислить функцию Z=f(X,Y),
ввести номер графического окна, вывести туда график выбранного типа.
Следует использовать графики:
трехмерный с аксонометрией, функция plot3(X,Y,Z),
трехмерный с функциональной окраской, функция mesh(X,Y,Z),
трехмерный с функциональной окраской и проекцией, комбинация функций plot3d(X,Y,Z) и contour(X,Y,Z),
трехмерный с функциональной окраской и проекцией, функция surf(X,Y,Z),
контурный, функция contour(X,Y,Z) или contour2d(X,Y,Z),
В каждом окне можно рисовать несколько графиков с наложением друг на друга. В списке параметров для каждого графика параметры перечисляются группами последовательно (в работе график для окна один). В каждую группу входят:
X - первая координата площадки основания,
Y - вторая координата площадки основания,
Z - значение функции.
Пример выполнения
Задание
Функция . Пределы изменения аргументов -2...2
Задача 1
// Задача 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
scf(1);
plot3d(X,Y,Z,alpha=89,theta=68,flag=[2,2,3]);
// вывод черно-белого трехмерного графика в окно 2
scf(2);
mesh(X,Y,Z);
// вывод трехмерного графика с окраской в окно 3
scf(3);
plot3d3(X,Y,Z,alpha=89,theta=68,flag=[2,2,3]);
// вывод трехмерного графика с функциональной окраской в окно 4
scf(4);
surf(X,Y,Z);
// Вывод линий уровня функции на поверхности отклика в окно 5
scf(5);
xc=-2*%pi:h:2*%pi;
yc=-2*%pi:h:2*%pi;
plot3d(xc,yc,Z,alpha=86,theta=105); contour(xc,yc,Z,7,alpha=86,theta=105,flag=[0 2 4])
// Вывод плоского графика линий уровня в окно 6
scf(6);
contour2d(xc,yc,Z,6)
Задача 2
// Задача 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
scf(1);
subplot(3,2,1), plot3d(X,Y,Z,alpha=89,theta=68,flag=[2,2,3]);
// вывод черно-белого трехмерного графика в окно 2
subplot(3,2,2), mesh(X,Y,Z);
// вывод трехмерного графика с окраской в окно 3
subplot(3,2,3), plot3d3(X,Y,Z,alpha=89,theta=68,flag=[2,2,3]);
// вывод трехмерного графика с функциональной окраской в окно 4
subplot(3,2,4), surf(X,Y,Z);
// Вывод линий уровня функции на поверхности отклика в окно 5
xc=-2*%pi:h:2*%pi;
yc=-2*%pi:h:2*%pi;
subplot(3,2,5),
plot3d(xc,yc,Z,alpha=86,theta=105); contour(xc,yc,Z,7,alpha=86,theta=105,flag=[0 2 4])
// Вывод плоского графика линий уровня в окно 6
subplot(3,2,6), contour2d(xc,yc,Z,4)