Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БСМП лабораторная работа #3

.docx
Скачиваний:
4
Добавлен:
23.12.2022
Размер:
26.27 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатика»

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

«Матрицы – создание, доступ, матричные операции и функции»

по дисциплине

«Базовые средства математических пакетов»

Выполнил: студент гр. БСТ2104

Вариант №17

Проверил: доц. Шакин В.Н.

Москва, 2021 г.

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

«Матрицы – создание, доступ, матричные операции и функции»

  1. Общее задание

1) Изучите материал учебника (п.1.3).

2) Выберете вариант индивидуального задания из табл. 1.3-1.

3) Выполните команды clear и clc для очистки окна Обозревателя переменных и Командного окна.

4) Откройте новое окно редактора SciNotes.

5) Перед программой, предназначенной для обработки массивов, создайте для первой части задания одномерные массивы (вектора), а для второй— двумерные массивы (матрицы).

6) Введите программу отработки массивов согласно вашему индивидуальному заданию. Программа должна быть универсальной, т. е. выполняться для произвольного количества элементов исходного вектора и произвольного числа строк и столбцов исходной матрицы, все действия над векторами и матрицами должны быть выполнены с использованием матричных функций, и снабжены комментариями. Для вывода отдельных значений и пояснений следует использовать функцию mprintf, а для вывода числовых массивов— функцию disp.

7) Сохраните sce-сценарий в файле, исправьте ошибки и выполните.

8) Сохраните sce-сценарий под другим именем и выполните, загрузив

его в Командное окно.

9) Сохраните все результаты для отчета.

10) Предоставьте результаты работы преподавателю, ответьте на

поставленные вопросы.

11) Оформите отчет по выполненной работе.

  1. Индивидуальное задание

Найти сумму элементов вектора, не попавших в интервал [a,b].

  1. Результат выполненного задания.

//Первый сценарий–функция poisk_elem.sce для обработки вектора

//Среди элементов вектора mas функция poisk_elem

//находит элементы, не попавшие в интревал [a,b]

//Исходные данные: вектор mas, интервал [a,b];

//выходные параметры функции mas2

function [mas2,s]=poisk_elem(mas,a,b)

//Поиск элементов, не попавших в интервал

mas2=mas(mas<a | mas>b);

//Сумма элементов вектора

s=sum(mas2);

endfunction

//Конец сценария poisk_elem.sce=============================

//Второй сценарий Pr1_3_1.sce для решения первой задачи

//Реализует загрузку сценария poisk_elem.sce,ввод исходных данных,

//обращение к функции poisk_elem и вывод результатов

clear;// Очистка окна Обозреватель данных

clc; // Очистка Командного окна

//Загрузка сценария обработки вектора

exec('/Users/new/Desktop/poisk_elem.sce');

// Создание вектора и ввод исходных данных для его обработки

a=input("Введите число a =");

b=input("Введите число b =");

k=input("Введите количество элементов вектора ");

c=input("Введите начальное значение диапазона для вектора ");

d=input("Введите конечное значение диапазона для вектора ");

//Создание вектора в заданном диапазоне

mas=grand(1,k,"uin",c,d);

//Вывод исходного массива на экран

disp(mas,"Исходный массив:");

//Обращение к функции для обработки вектора

[mas2,s]=poisk_elem(mas,a,b)

//Вывод массива mas2 с индексами

disp(mas2,"Индексы найденных элементов в новом векторе");

// Вывод результата решения задачи

mprintf('Сумма элементов, не попавших в интервал [%d,%d], исходного массива \n',a,b);

mprintf('равна %3d',s);

//Конец сценарияPr1_3_1.sce===============================

-->//Сессия Командного окна:

-->// Практическое занятие 1.3 по теме

-->// «Матричные операции создания, доступа, извлечения

-->//и модификации»

-->// Вариант 17, задание 1

-->// Выполнил: Студент группы БСТ2104 Филонов М.Д.

-->//Вызов и выполнение сценария Pr1_3_1.sce

-->

-->clear // Очистка окна Обозревателя данных

-->clc // Очистка Командного окна

-->exec('/Users/new/Desktop/Pr1_3_1.sce', 0);

Введите число a = -2

Введите число b = 11

Введите количество элементов вектора 14

Введите начальное значение диапазона для вектора -8

Введите конечное значение диапазона для вектора 20

"Исходный массив"

3. 12. 3. 16. 7. -2. 14. 11. 2. 0. 16. -3. 4. 15.

"Индексы найденных элементов в новом векторе"

12. 16. 14. 16. -3. 15.

Сумма элементов, не попавших в интервал [-2,11], исходного массива

равна 70

-->//Конец сессии первого задания===========================