Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Ортонормированная матрица

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Ортонормированная матрица – матрица, столбцы и строки которой образуют системы ортонормированных векторов. Решения задачи для матрицы, которая является и не является ортонормированной. Разработка структур данных и алгоритмов. Код программы на языке С++.
Краткое сожержание материала:

Размещено на

1. Содержательная (исходная) постановка задачи

Предварительные сведения

Рассматриваем матрицу размера NЧM вида:

Матрица в программе представляется в виде двумерного массива (array[i][k]). Например, пусть дана матрица:

В программном языке эта матрица будет представляться в виде массива, элементами которого являются:

Array [0][0] = 1; array [0][1] = 2; array [0][2] = 3 ; array [1][0] = 4 ;

array [1][1] = 5 ; array [1][2] = 6 ; array [2][0] = 7 ; array [2][1] = 8;

array [2][2] = 9.

Ортонормированная (в высшей терминологии ортогональная) матрица - это такая матрица столбцы и строки которой образуют системы ортонормированных векторов, то есть:

где , n -- порядок матрицы, а дjk -- символ Кронекера.

Другими словами, скалярное произведение строки на саму себя равно 1, а на любую другую строку -- 0. Так же и для столбцов.

Постановка задачи

Матрица является ортонормированной, если скалярное произведение каждой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно 1. Определить, является ли заданная матрица A размера N  M ортонормированной.

Указания

Использовать две функции:

1. Функция которая проверяет условие ортонормированности матрицы и возвращает true, либо false

2. Функция, которая непосредственно производит перемножение строк.

2. Анализ и пример решения задачи

Анализ задачи

Как упоминалось ранее для определения ортонормированности функции нужно проверить скалярное произведение строки саму на себя и затем произведение этой строки с последующими.

· Чтобы в программе не выполнялись лишние действие перемножения строки с другими надо начинать не с первой строки а с последующий (соответственно, когда мы в цикле дойдем до последний строки, то она только перемножается сама на себя).

· Перемножение строк реализуется в функции с помощью сложения всех пар произведений типа array[i][k]*array[j][k] b и записи получившийся суммы в отдельную переменную.

· В проверяющей функции после каждого полученного результата перемножения строк сверяем полученный результат с условием, если неверно, то возвращаем false. А после окончания цикла проверки возвращаем true (таким образом, если матрица ортонормирована, то она пройдет все проверки и вернет true)

Пример решения задачи

Рассмотрим 2 примера решения задачи, для матрица, который является и не является ортонормированной.

1.Матрица ортонормированна

Размещено на

· Сначала находим произведение первой строки саму на себя:

S= 1*1 + 0*0 + 0*0 + 0*0=1 (удовлетворяет условию )

· Затем происходит перемножение первой строки на 2,3 и 4

S1,2 =0; S1,3 =0; S1,4 =0 (удовлетворяет условию)

· Далее рассматриваем вторую строку (во-первых производим умножение саму на себя, а затем рассматриваем произведения уже со строками 3 и 4)

S22 =1; S2,3 =0; S2,4 =0 (удовлетворяет условию)

· По аналогии рассматриваем третью строку.

S32 =1;S3,4 =0 (удовлетворяет условию)

· Для последний строки производи только перемножение саму на себя

S42 =1 (удовлетворяет условию)

· Матрица прошла все проверки, значит она ортонормирована.

2.Матрица не ортонормирована.

Размещено на

· Сначала находим произведение первой строки саму на себя:

S= 1*1 + 0*0 + 0*0 + 0*0=1 (удовлетворяет условию )

· Затем происходит перемножение первой строки на 2,3 и 4

S1,2 =1*0 + 0*2 + 0*0 + 0*1=0; (удовлетворяет условию)

S1,3 =1*3 + 0*5 + 0*3 +0*6=3 (не удовлетворяет условию)

· Функция возвращает false значит матрица не ортонормирована.

3. Формальная постановка задачи

Исходные данные

1) Размеры матрицы целые числа n и m.

2) Двумерный массив размера nЧm содержащий элементы вещественные числа двойной точности.

Ограничения на исходные данные

Числа n и m должны быть меньше 50, т.к. array это статический массив размера 50Ч50.

Матрица состоит из вещественных чисел

Результирующие (выходные) данные

Выходными данными является отчет о том ортонормированная ли матрица.

Связь выходных данных с исходными данными

Опишем формально связь между выходным булевским значением otvet и входной матрицей a. Для этого используем следующие функции над матрицей.

1) Функция определяющая скалярное произведение строки на строку в математическом представлении выглядит следующим образом:

где m - это количество столбцов в матрице

2)Функция проверки ортонормированности матрицы:

Перебор строк от i = 1 до n

j=i;

Если S? 1 (значение S берется из первой функции)

то Функция = false;

Перебор строк от j = i+1 до n-1

Если S? 0

то Функция = false;

Конец перебора;

Конец перебора;

Функция = true;

Т.е. входная матрица проверяется в функции 2, для реализации скалярного произведения строк используется функция 1. В проверяющей функции рассматриваются все возможные варианты скалярного произведения строк и сравниваются с условием задания. Если хоть одно условие не совпадает, то функция завершается и принимает false. Если матрица успешно проходит все проверки, то по завершению начального цикла функции присваивается значение true.

4. Спецификация программы

Исходные данные (ИД)

Перечень и основные характеристики ИД:

1) n - количество строк в матрице

2) m - количество столбцов в матрице

3) Array - Массив, задающий проверяемую матрицу A, вида

Ограничения на исходные данные:

1) Для n и m задан диапазон 2 n, m 50 , это натуральные числа типа int

2) Элементы вводимого массива любые числа диапазона double

Место и форма представления исходных данных:

1) n и m вводится с клавиатуры в процессе диалога, порядок ввода и форма представления описаны в сценарии диалога;

2) данные, задающие матрицу, вводятся с клавиатуры в процессе диалога через пробел с переносом на следующую строку, тогда когда все элементы строки будут введены. Введённая матрица будет выглядить следующим образом

Размещено на

Функции программы по обработке исключительных ситуаций

Исполняющая система прекращает выполнение программы, выдавая диагностическое сообщение об ошибке в следующих случаях:

1) если значение n не принадлежит диапазону 2…50;

2) если значение m не принадлежит диапазону 2…50;

Выходные данные

Состав выходных данных:

1) Сообщения, которые просят пользователя ввести размеры матрицы.

2) Если размер массива не вписывается в рамки 50 на 50, то выводиться сообщения об ошибке.

3) Сообщение, которое просит пользователя последовательно ввести элементы матрицы.

4) Отчет о проверки матрицы.

Место и форма представления выходных данных. Выходные данные выводятся на экран.

1) Вывод сообщений диалога пользователя по порядку подробнее описано в пункте описание сцен диалога.

Макет вывода выходных данных в диалоговом окне в том случае, когда матрица ортонормированна

Размещено на

Сценарий диалога

Общая схема диалога:

1.Сцена 1 (ввод, анализ количества строк в матрице + если размер недопустим выводиться сообщение об ошибке).

2.Сцена 2 (ввод, анализ количества столбцов в матрице + если размер недопустим выводиться сообщение об ошибке).

3.Сцена 3 (ввод элементов матрицы).

4.Сцена 4 (вывод отчета).

Описание сцен диалога. Описание сцены 1 приведено в табл. П.1.

Таблица П.1

Алгоритм ведения диалога

Сообщения пользователю и его реакция

Вывод запроса

Enter number of rows

Ввод n

??<Enter>

Если размер неверный

Matrix size is i...

Другие файлы:

Линейная алгебра
Дано:Дано:Матрица A1) DetA=(5х4)-(-2х1)=20+2=224) Найдем обратную матрицуМатрицаdet F=36-36=0матрицаДобавляем нули до матрицы четвертого порядка.Сдела...

Основы высшей математики
Понятие "матрица" в математике. Операция умножения (деления) матрицы любого размера на произвольное число. Операция и свойства умножения двух матриц....

Программа, реализующая тип данных "вещественная матрица"
Этапы реализации класса "вещественная матрица", позволяющего осуществлять основные операции с вещественными прямоугольными и транспонированными матриц...

Методы стратегического анализа портфельный анализ, матрица БКГ, матрица МакКинси, модель PIMSЯ

Матрица возможностей по товарам и рынкам. Матрица Ансоффа
Матрица Ансоффа - анализ возможностей по товарам и рынкам, инструмент стратегического менеджмента, ее структура. Стратегии в матрице Ансоффа: проникно...