Средства Scilab при программировании с использованием библиотечных функций для работы с матрицами
Автор: willybreak • Апрель 13, 2022 • Лабораторная работа • 615 Слов (3 Страниц) • 250 Просмотры
Федеральное агентство связи
Ордена Трудового Красного Знамени федеральное государственное бюджетное
образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра информатики
ЛАБОРАТОРНАЯ РАБОТА №1.5
по математическим пакетам
«Средства Scilab при программировании с использованием библиотечных функций для работы с матрицами»
Выполнил: студент гр. БИН1908 Смирнов А.П.
Проверил: к.т.н., доцент Сосновиков Г. К.
Москва 2020
СОДЕРЖАНИЕ
1. Общее и индивидуальное задание 2
2. Выполнение задания3
1. Общее задание
1) Изучить материал учебника [1] (п.1.3).
2) Выбрать вариант индивидуального задания из табл.1.5-1.
3) Выполнить команды clear и clc для очистки окна Обозревателя переменных и Командного окна.
4) Открыть новое окно редактора SciNotes.
5) Создать для выполнения задачи два сценария. Первый сценарий должен содержать функции, предназначенные для выполнений действий над векторами и матрицами (по возможности) с использованием матричных операций (см. учебник [1], Приложение 2). Второй сценарий предназначен для ввода исходных данных, вызова первого сценария и вывода результатов. Здесь для вывода отдельных значений и пояснений следует использовать функцию mprintf, а для вывода числовых массивов – функции mprintf или disp.
6) Сохранить sce-сценарии в файлах.
7) Решить индивидуальные задания, выполнив созданные сценарии.
8) Сохранить все результаты для отчета.
9) Предоставить результаты работы преподавателю.
10) Оформить отчет по выполненной работе.
Индивидуальное задание
Индивидуальное задание изображено на рис.1:
[pic 1]
Рисунок 1 – Вариант индивидуального задания
Выполнение задания
// Сценарий-функция Pr1_5_1_F.sce
// Вариант 26
// Выполнил: Студент группы БИН1906 Шальнев С. И.
// Задание: Найти количество элементов матрицы С(5х5), лежащих в интервале [a,b]
// и заменить этим значением элемента, лежащие на главной диагонали.
function [C, a, b]=proverka(C);
[N, M]=size(C);
if N~=M then
mprintf('Для работы требуется квадратная матрица, повторите ввод');
C=input("Введите квадратную матрицу ");
a=input("Введите нижнюю границу интервала ");
b=input("Введите верхнюю границу интервала ");
[C, a, b] = proverka(C);
end
endfunction
function [kol, C]=zamena(C, a, b)
[C, a, b] = proverka(C);
m = size(C, "*");
razm = size(C,"r");
[kmatr]=find(C >= a & C <= b);
kol = size(kmatr,"*");
C(1:razm + 1:m) = kol;
endfunction
// Конец сценария Pr1_5_1_fun.sce==============================================
...