Главная страница

Практикум БСМП Scilab. Практикум Москва, 2019 г. 2 Scilab


Скачать 1.78 Mb.
НазваниеПрактикум Москва, 2019 г. 2 Scilab
Дата19.09.2021
Размер1.78 Mb.
Формат файлаpdf
Имя файлаПрактикум БСМП Scilab.pdf
ТипПрактикум
#233941
страница4 из 5
1   2   3   4   5
10
x
1
x


 
 







2) Решение задания 1: построение графиков функций от одной переменной с использованием сценарияи протокола:
// Сценарий Pr1_4_1.sce задания 1
//Определение функций f1 иf2
// и построение графиков двух одномерных функций
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)
functiony=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
//Конец сценарияPr1_4_1.sce==========================================
-->//Сессия командного окна для выполнениязадания 1:
-->// Практическое занятие 1.4 по теме
-->// «Визуализация результатов вычислений»
-->// Вариант 0, задание 1
-->// Выполнил:Студент группы БИН1801 Иванов И.И.
-->
//
Вызов сценария Pr1_4_1.sce
-->
//
и построение графиков функции одной переменной
-->

28
-->exec('Pr1_4_1.sce');
Пример выполнения задания 2 (функция от двух переменных)
1) В соответствии с п.п.10-12 общего задания выполнить
задание.Построить графикфункции f3(x,y)=x
2
+2y
2
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.

29
-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)

30
3.3.6.
Контрольные вопросы по теме
1)
Назначение функции
scf(n).
2)
Какой номер у первого графического окна?
3)
Можно ли создать графическое окно с определенным номером?
4)
Каким образом можно закрыть графическое окно?
5)
Назначение элементов меню графического окна: Файл,
Инструменты, Правка, Справка.
6)
Каким образом можно закрыть графическое окно?
7)
Как выполнить настройку элементов графика (оси, толщина линий, шрифты и т.д.) с использованием элементов меню графического окна?
8)
Можно ли с использованием одного оператора
plot
построить несколько графиков?
9)
Можно ли в одном графическом окне построить несколько графиков одного типа?
10) Можно ли в одном графическом окне построить несколько графиков разных типов?
11) Каким образом в операторе указывается цвет и символ отображения графика?
12) Какой пояснительной информацией может быть снабжен график, построенный в графическом окне?
13) Назначение и формат функции
xtitle
?
14) Для чего используется функция
legend
?
15) Каково назначение функции
mtlb_hold
?
16) Каково назначение функции
meshgrid
при построении трехмерных изображений?
17) Какие типы графиков позволяет построить Scilab?

31 18) Какие типы графиков позволяют строить встроенные функции:
plot, contour, surf
и
plot3
?
19) Что такое контурные линии, и на каком графике их можно увидеть?

32
1.5. Лабораторная работа по теме
«Средства программирования в Scilab»
1.5.1.
Вопросы, подлежащие изучению
1)
Виды
sce
-файлов.
2)
Особенности сценариев и функций.
3)
Структура сценариев и функций.
4)
Запуск на выполнение сценария из текстового редактора.
5)
Запуск на выполнение сценария из Командного окна
6)
Обращения к файлам и функциям.
7)
Средства языка программирования в системе Scilab.
8)
Основные операторы языка Scilab, назначение и форматы.
9)
Создание и использование библиотеки функций.
1.5.2.
Общее задание
1)
Изучите материал учебника (п. 1.5).
2)
Выберете индивидуальное задание из табл. 1.5-1.
3)
В
соответствии
с
индивидуальным
заданием
создайте
необходимые функции для реализации стандартных алгоритмов,
например: вычисления конечных сумм, разветвлений, поиска
минимума и максимума в последовательности данных и т.п.
4)
Введите функции и сохраните их на внешнем носителе.
5)
Создайте сценарий, в который введите код программы,
описывающий логику решения поставленной задачи и вывод
результатов, снабженных соответствующими комментариями.
6)
Сохраните сценарий в файле, задав ему смысловое имя.
7)
Произведите отладку файла-сценария, запуская его на выполнение
из текстового редактора командой Выполнить.
8)
Подготовьте и введите исходные данные для тестирования и
решения поставленной задачи.
9)
Выполните файл-сценарий в Командном окне.
10) Сохраните текст рабочего окна на внешнем носителе.
11) Предоставьте результаты работы преподавателю, ответьте на
поставленные вопросы.
12) Оформите отчет по выполненной работе.

33
1.5.3.
Варианты индивидуальных заданий
Таблица. 1.5-1.

Задание
1
Ввести натуральное число
n
и вектор действительных чисел
n
y
y
y
,
2 1
Найти:
),
,...
max(
1
n
z
z
где










),
(
;
4 2
,
5 0
;
2
,
случаях
противных
в
y
Sin
y
y
если
y
если
y
z
i
i
i
i
i
i
2
Вычислить



10 1
2
,
)
(
i
i
i
b
a
где






четноею
i
если
i
нечетное
i
если
i
a
i
,
2
/
;
,






четноею
i
если
i
нечетное
i
если
i
b
i
,
2
/
;
,
3 2
3
Задать массив
n
a
a
a
2 2
1
,
, состоящий из четного количества элементов. Каждая пара чисел
i
a
и
1

i
a
где
i+1
кратно двум, задает координаты вершины ломаной.
Построить ломаную, соединив при этом последнюю вершину с первой.
4
Ввести натуральное число n и вектор действительных чисел
n
b
b
b
,
2 1
. Вычислить произведение
)
(
)...
(
)
(
2 1
n
b
f
b
f
b
f

, где







),
(
;
7
,
2
;
2
,
)
(
2
случаях
противных
в
y
Sin
y
кратно
x
если
x
кратно
x
если
x
x
f
i
i
i
i
i
i
i
5
Ввести натуральное число n и действительное число
х
. Вычислить и вывести на экран искомую сумму и каждое слагаемое суммы:











n
i
n
i
x
i
n
n
0 2
2
)!
(
!
1 6
Ввести натуральное число
n
. Найти наибольшее среди значений
)
1
(
2


k
Sin
e
k
, где
k=1, 2,…,n
, а также сумму всех полученных значений.
7
Ввести натуральное число n и вычислить сумму значений
n
a
a
a
,
2 1
, где
2 1
1 1
1












i
i
Sin
i
i
a
i
(i=1,2,…n). Вывести индексы и полученные значения
i
a
в виде таблицы.
8
Ввести натуральное число n и вектор действительных чисел
n
b
b
b
,
2 1
Определить каких положительных или отрицательных чисел в векторе больше, а также наибольшее из отрицательных и наименьшее из положительных значение
i
b
9
Ввести матрицу
B(5,7)
и сформировать из первых наибольших элементов строк вектор
С(5)
. Вывести его элементы в строку и столбец.

34 10
Сформировать вектор по правилу:
1 1
2




k
k
k
a
a
a
, где k=2,3,…7, если
).
1
(
),
1
(
2 2
2 1
Sin
a
Cos
a



Найти сумму квадратов тех чисел, модуль которых не превосходят 2.
11
Ввести натуральное число n и вектор действительных чисел
n
b
b
b
,
2 1
. Найти количество двух соседних положительных чисел и двух соседних чисел разного знака.
12
Ввести квадратную матрицу
А(4,4)
и, сформировав из максимальных элементов ее столбцов вектор
X
, и вывести его элементы на экран в прямой и обратной последовательности.
13
Ввести вектор целых чисел
10 2
1
,
b
b
b
. Преобразовать его таким образом, чтобы сначала располагались нули, а затем все остальные элементы. Определить сумму и количество элементов, значения которых кратно 5.
14
Ввести вектор вещественных чисел
18 2
1
,
z
z
z
. Создать из его элементов массив
x
, каждый элемент которого максимальный из 3-х элементов, идущих подряд в массиве
z
15
Сформировать матрицу
А(4,4)
по правилу:









2
),
1
(
2 7
;
2
,
5
)
,
(
i
если
j
i
i
если
j
i
j
i
A
Найти и вывести значения и индексы двух одинаковых элементов. Если таковых не окажется, вывести сообщение.
16
Сформировать матрицу
D(3,2)
по правилу:
2
)
,
(
2 2
j
i
j
i
D


Создать и вывести на экран вектор, состоящий из отрицательных элементов полученной матрицы.
17
Задать натуральное число
n
. Посчитать, какая из матриц размером nна n содержит большее количество положительных элементов, если ее элементы формируются по правилу:
)
(
);
(
)
,
(
);
2
/
(
)
,
(
2 2
2





 





n
j
i
Sin
j
i
c
n
i
Cos
j
i
b
j
i
Sin
j
i
a
Соответствующее сообщение и сформированные матрицы вывести на экран.
18
Ввести квадратную матриц
А(4,4)
из вещественных чисел. Найти сумму значений наибольших элементов ее строк. Сформировать и вывести на экран новую матрицу
В(4,4)
, каждый элемент которой получен путем умножения его значения на найденную сумму.
19
Ввести матрицу вещественных чисел
А(4,7)
. Сформировать и вывести на экран вектор С(4), элементами которого являются:

наибольший из элементов в 1-й строке;

наименьший из элементов во 2-й строке;

среднее арифметическое элементов 3-й строки;

сумма элементов 4-й строки.
20
Ввести натуральное число n и матрицу вещественных чисел
С(n,n)
. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов, и, заменив этим значением диагональные элементы матрицы
С
, вывести полученную матрицу на экран.

35 21
Ввести натуральные числа
k1
,
k2
и действительную матрицу размера
8х4
Поменять в матрице местами элементы
k1
и
k2
строк и вывести на экран модифицированную матрицу.
22
Ввести натуральное число n и матрицу вещественных чисел
С(n,9)
Сформировать и вывести на экран вектор-столбец, значениями элементов которого являются средние арифметические значения элементов строк матрицы
С(n,9)
, имеющих четные номера.
23
Ввести вектора действительных чисел
x(5)
,
y(6)
,
z(7)
. Вывести значение величины t, вычисляемой по следующему алгоритму:








))
,..
,
(max(
1
;
4
)
,...
,
min(
,
2
/
))
,...
,
min(
)
,...
,
(max(
2 7
2 1
7 2
1 6
2 1
2 1
случае
противном
в
z
z
z
z
z
z
если
y
y
y
x
x
x
t
24
Ввести вектора действительных чисел
x(5)
. Получить для
х=1, 3, 4
значения
),
(
)
1
(
x
p
x
p


где
1 2
2 3
3 4
4 5
5
)
(
a
x
a
x
a
x
a
x
a
y
p





25
Ввести вектор действительных чисел
x(10)
. Получить из него другой массив p(10), элементы которого упорядочены по возрастанию.
26
Ввести матрицу вещественных чисел
А(3,4)
. Заменить элементы строки матрицы с максимальной суммой значений элементов – единицами, с минимальной - 2, а остальные элементы матрицы положить равными нулю.
27
Сформировать матрицу
А(4,4)
по правилу
)
(
5
)
,
(
j
j
i
j
i
A



Удалить из него столбцы, содержащие элементы, меньшие 10. Вывести на экран сформированную и модифицированную матрицы.
28
Сформировать матрицу
В(9,3)
по правилу
).
2
/
(
)
,
(
j
i
Sin
j
i
B


Определить наименьший элемент в каждой строке матрицы и записать его в соответствующий элемент вектора
С
. Вывести на экран сформированную матрицу и полученный вектор
С
29
Ввести матрицу вещественных чисел
А(3,4)
, все элементы которой различны.
Найти в каждой строке матрицы наибольшее и наименьшее значение, и записать в соответствующий элемент вектора
С(3)
сумму значений индексов столбцов, в которых они расположены. Вывести на экран полученный вектор
1   2   3   4   5


написать администратору сайта