«Визуализация результатов вычислений»
Цель работы: Изучение средств визуализации результатов вычислений: графические объекты и их свойства, средства построения графиков (двумерных и трехмерных) и различных геометрических фигур, средства построения графических интерфейсов пользователей.
Вопросы, подлежащие изучению
1) Понятия графических объектов и их свойства.
2) Построение графиков функций одной переменной.
3) Построение графиков функций двух переменных переменной
4) Средства инструментальной панели графических окон.
5) Построение трехмерных изображений с использованием функций
Scilab: mesh, plot3, surf и controur.
6) Средства построения графических интерфейсов пользователей.
1.4.2. Общее задание
1) Изучить материал учебника [1] (п. 1.4), [5] .
2) Выбрать вариант индивидуального задания из табл. 1.4-1.
3) Создать сценарий для работы с функциямиf1(x)иf2(x) .
4) Выполнить команды clear и clc для очистки окна Обозревателя переменных и Командного окна.
5) Задать диапазон изменения аргумента функцииf1(x ), вычислить ее значения и построить ее график в графическом окне с номером 1 с использованием функции plot.
6) Описать функцию f2(x).
7) Задать вектор аргумента функции f2(x).Обратить внимание на совместимость диапазонов аргументов для функций f1(x) и f2(x).
8) Построить в том же окне с номером 1 график функции f2(x) другим типом линии. Провести оформление графиков, изменив толщину линий и величину шрифта.
9) Дополнить графики необходимыми пояснениями: заголовок, имена осей, координатная сетка и легенда.
10) Задать в Командном окне диапазоны изменения значений x и y для вычисления значений и построения графиков функции f3(x,y).
11) Описать функцию f3(x,y) и получить таблицу ее значений.
12) Получить графики функции f3(x,y) с использованием mesh, plot3, surf и controur в разных графических окнах.
13) Сохранить тексты сценариев и содержимое Командного окна на внешнем носителе.
14) Предоставить результаты работы преподавателю, ответить на поставленные вопросы.
15) Оформить отчет по выполненной работе.
Варианты индивидуальных заданий
Таблица 1.4.3-1
| № | Задания для задач 1 и 2 |
| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
|
| 10 |
|
| 11 |
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 |
|
| 17 |
|
| 18 |
|
| 19 |
|
| 20 |
|
| 21 |
|
| 22 |
|
| 23 |
|
| 24 |
|
| 25 |
|
| 26 |
|
| 27 |
|
| 28 |
|
| 29 |
|
| 30 |
|
1.4.4. Пример выполнения задания
Пример выполнения задания 1(одномерные функции)
1) В соответствии с п.п. 3-9 общего задания выполнить задание: Построить графики одномерных функций
.
2) Решение задания 1: построение графиков функций от одной переменной с использованием сценария и протокола:
// Сценарий Pr 1_4_1. sce задания 1
//Определение функций f 1 и f 2
// и построение графиков двух одномерных функций
clear; //Очистка окна Обозревателя данных
clc; //Очистка Командного окна
// Диапазон изменения аргумента для функции f1(x)
x=-0.5:0.3:6;
// Вычисление вектора значений функции f1(x)
f1=x.*log(1./abs(x+1));
scf(1); // Графическое окно 1
plot(x,f1);// График функции f1(x)
// Описание функции f2(x)
function y=f2(x)
y=1+10*sin(x)./x;
endfunction
// Определение вектора значений аргумента для функции f2(x)
t=[0.2:0.2:5];
// Построение графика f2(x)и оформление линий и маркеров
plot(t,f2(t),'LineStyle','-','Color','green',...
'Thickness',3,'Marker','o','MarkerEdgeColor','r',...
'MarkerFaceColor','k','MarkerSize',10);
// Оформление линий и маркеров и новое построение графика f1(x)
plot(x,f1,'LineStyle','--','Color','red',...
'Thickness',3,'Marker','s','MarkerEdgeColor','b',...
'MarkerFaceColor','y','MarkerSize',10);
// Оформление подписей графиков, осей и сетки
xtitle('Графики функций f1(x) и f2(x)','X','Y')
legend('Функция f1(x)','Функция f2(x)',1)
xgrid
//Конец сценария Pr 1_4_1. sce==========================================

-->//Сессия командного окна для выполнения задания 1:
-->// Практическое занятие 1.4 по теме
-->// «Визуализация результатов вычислений»
-->// Вариант 0, задание 1
-->// Выполнил: Студент группы БИН1801 Иванов И.И.
-->// Вызов сценария Pr 1_4_1. sce
-->// и построение графиков функции одной переменной
-->
-->exec('Pr 1_4_1. sce');
Пример выполнения задания 2 (функция от двух переменных)
1) В соответствии с п.п.10-12 общего задания выполнить задание: Построить график функции f3(x,y)=x2+2y2.
2) Решение задания 2: построение графиков различного вида для функции от двух переменных (протокол сессии).
-->// Сессия Командного окна задания 2:
-->// Практическое занятие 1.4 по теме
-->// «Визуализация результатов вычислений»
-->// Вариант 0, задание 2
-->// Выполнил: Студент группы БИН1801 Иванов И.И.
-->// Построение различных видов графиков функции двух переменных
-->
-->// zM = xM.^2 + 2 * yM.^2
-->
-->// Формирование двух матриц xMи yM
--> [xM, yM] = meshgrid(-4 : 4, -4 : 4)
xM =
0. 1. 2. 3.
0. 1. 2. 3.
0. 1. 2. 3.
0. 1. 2. 3.
-->
yM =
-3. -3. -3. -3.
-2. -2. -2. -2.
-1. -1. -1. -1.
0. 0. 0. 0.
-->
--> // Формирование матрицы zM
--> deff('k = f(x, y)', 'k = x.^2 + 2 * y.^2');
--> zM = f(xM, yM)
zM =
48. 41. 36. 33. 32. 33. 36. 41. 48.
34. 27. 22. 19. 18. 19. 22. 27. 34.
24. 17. 12. 9. 8. 9. 12. 17. 24.
18. 11. 6. 3. 2. 3. 6. 11. 18.
16. 9. 4. 1. 0. 1. 4. 9. 16.
18. 11. 6. 3. 2. 3. 6. 11. 18.
24. 17. 12. 9. 8. 9. 12. 17. 24.
34. 27. 22. 19. 18. 19. 22. 27. 34.
48. 41. 36. 33. 32. 33. 36. 41. 48.
-->
--> // Формирование векторов xVи yV
--> x2 = -4 : 4; y2 = -4 : 4;
-->
--> // Построение двумерных графиков
--> scf(1); mesh(xM, yM, zM) // Сетчатый график (окно 1)
--> scf(2); plot3d(xV, yV, zM) // График точек, соединенных отрезками
--> // прямых (окно 2)
--> scf(3); surf(xM, yM, zM) // График сплошной поверхности (окно 3)
--> scf(4); contour(xV, yV, zM, 7) // График контурных линий (окно 4)
|
|
|
|
|
Содержание отчета
1) Титульный лист
2) Название и цель практического занятия
3) Общее задание
4) Сценарии, вначале которых должна быть введена информация в виде комментариев:
· имя и назначение сценария;
· номер задания и формулировка решаемой задачи и/или краткое перечисление действий, реализуемых в сценарии.
5) Протокол сессии Командного окна, вначале которого должна быть введена информация в виде комментариев:
· название практического занятия;
· вариант индивидуального задания и номер задания;
· ФИО студента, номер группы;
· краткое перечисление действий, выполняемых во время сессии.
1.4.6. Контрольные вопросы по теме
1) Каково назначение функции scf ( n )?
2) Какой номер у первого графического окна?
3) Можно ли создать графическое окно с определенным номером?
4) Каким образом можно закрыть графическое окно?
5) Назначение элементов меню графического окна: Файл, Инструменты, Правка, Справка.
6) Каким образом можно закрыть графическое окно?
7) Назначение функции xdel(id ).
8) Назначение команды winsid.
9) Как выполнить настройку элементов графика (оси, толщина линий, шрифты и т.д.) с использованием элементов меню графического окна?
10) Можно ли с использованием одного оператора plotпостроить несколько графиков?
11) Можно ли в одном графическом окне построить несколько графиков одного типа?
12) Можно ли в одном графическом окне построить несколько графиков разных типов?
13) Каким образом в операторе указывается цвет и символ отображения графика?
14) Какой пояснительной информацией может быть снабжен график, построенный в графическом окне?
15) Назначение и формат функции xtitle?
16) Для чего используется функция legend?
17) Каково назначение функции mtlb _ hold?
18) Каково назначение функции meshgrid при построении трехмерных изображений?
19) Какие типы графиков позволяет построить Scilab?
20) Какие типы графиков позволяют строить встроенные функции: plot, contour, surf и plot 3?
21) Что такое контурные линии, и на каком графике их можно увидеть?
Дата: 2019-11-01, просмотров: 754.