Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.90
uHrBapp
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 25
#1

Ортонормированная матрица + - C++

29.04.2011, 23:36. Просмотров 2636. Ответов 5
Метки нет (Все метки)

Здравствуйте! Прошу помощи в написании лабораторной работы. С аналитической геометрией у меня очень туго, а тут она как раз и проявляется.
Надо определить, является ли заданная квадратичная матрица N-ого порядка ортонормированной. Предусмотреть использование шаблонного класса для работы с различными типами данных. (с шаблонами я возможно сам разберусь, мне бы с матрицами как-нибудь разобраться)
P.S. И еще, не могу понять как выразить математически - Определение взаимного расположения линий: прямой, окружности, параболы.
Буду весьма и весьма благодарен! :-)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2011, 23:36     Ортонормированная матрица +
Посмотрите здесь:

Ортонормированная матрица - C++
Помогите разобраться с ортонормированной матрицей. Как мне определить является ли матрица ортонормированной или нет? И что должно...

Ортонормированная матрица - C#
Задание: Определить, является ли заданная целочисленная квадратная матрица порядка n ортонормированной, или другими словами, когда при...

Ортонормированная матрица - Delphi
Люди помогите с задачей надо очень плиз Определить, является ли заданная целая квадратная матрица ортонормированной, т.е. такой, в...

Вектор. Ортонормированная система - Алгебра
Здравствуйте! Помогите с заданием пожалуйста!!! Не могу разобраться с пунктом б(ортонормированной системой)из-за этого не продвинусь...

Ортонормированная ФСР системы линейных уравнений - Алгебра
Как найти ортонормированную ФСР системы линейных уравнений? Помогите, пожалуйста. Желательно бы пример какой-нибудь, чтоб аналогично можно...

Матрица. Обратная матрица. - Алгебра
Что делать если последняя строка обратной матрицы получается нулевой? в чём ошибка?

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной. - Turbo Pascal
Ребят,помогите решить задачу "Дана квадратная матрица А порядка n. Проверить, является ли матрица единичной"

Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной - Delphi
Дана квадратная матрица А порядка n. Проверьте, является ли матрица единичной. Описать с помощью функций и процедур. Ввод-вывод в текстовый...

Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа? - Алгебра
Как доказать то, что матрица и транспонированная ей матрица имеют одинаковые собственные числа с одинаковой кратностью? Добавлено...

Матрица:Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого - QBasic
Даны натуральное число n, действительная матрица размера n х 9. Найти среднее арифметическое: каждого из столбцов.

Непонятки с DirectX (матрица поворота, камера, матрица проекции) - DirectX
Возник вопрос по DirectX, точнее по матрицам Вопрос 1: D3DXMATRIXA16 matWorld; UINT iTime = timeGetTime() % 10000; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
29.04.2011, 23:44     Ортонормированная матрица + #2
Вроде так
C++
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <iomanip>
 
template <class T>
T MOD(T a)
{
  return ( (a) < 0? -(a) : (a) );
}
 
void input_matrix(int **matrix, const size_t matrix_size){
  for(int i = 0; i < matrix_size; ++i)
    for(int j = 0; j < matrix_size; ++j){
      std::cout << "\nMtarix[" << i << "][" << j << "] = ";
      std::cin >> matrix[i][j];
    }
}
 
void output_matrix(int **matrix, const size_t matrix_size){
  for(int i = 0; i < matrix_size; ++i){
    for(int j = 0; j < matrix_size; ++j)
      std::cout << std::setw(3) << matrix[i][j] << ' ';
  }
  std::cout << '\n';
}
 
bool cheking(int **matrix, const size_t matrix_size){
  bool ort = true;
  int pr = 0;
  for (int i = 0; i < matrix_size - 1 && ort; ++i){
    pr = 0;
    for (int k = i + 1; k < matrix_size && ort; ++k)
      for(int j = 0; j < matrix_size; ++j)
        pr += matrix[i][j] * matrix[k][j];
    if (MOD(pr) > 0.0001)
      ort = false;
  }
  for (int i = 0; i < matrix_size - 1 && ort; ++i){
    pr = 0;
    for(int j = 0; j < matrix_size; ++j)
      pr += matrix[i][j] * matrix[i][j];
    if (MOD(pr - 1) > 0.0001)
      ort = false;
  }
  return ort;
}
 
int main() {
  size_t matrix_size;
  std::cout << "\n\nInput matrix size -> ";
  std::cin >> matrix_size;
  int **matrix = new int*[matrix_size];
  for(int i = 0; i < matrix_size; ++i)
    matrix[i] = new int[matrix_size];
  input_matrix(matrix, matrix_size);
  std::cout << '\n';
  output_matrix(matrix, matrix_size);
  std::cout << ( cheking(matrix, matrix_size)? "YES" : "NO" ) << std::endl;
  for(int i = 0; i < matrix_size; ++i)
    delete[] matrix[i];
  delete[] matrix;
}
uHrBapp
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 25
01.05.2011, 14:23  [ТС]     Ортонормированная матрица + #3
asics, Благодарю за помощь! Но вот компилятор что то ругается. и насчет расположения линий относительно друг друга не подскажете?)

--------------------Configuration: 81 - Win32 Debug--------------------
Compiling...
81.cpp
D:\Dust\81\81.cpp(37) : error C2374: 'i' : redefinition; multiple initialization
D:\Dust\81\81.cpp(29) : see declaration of 'i'
D:\Dust\81\81.cpp(58) : error C2374: 'i' : redefinition; multiple initialization
D:\Dust\81\81.cpp(52) : see declaration of 'i'
D:\Dust\81\81.cpp(61) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.

81.obj - 2 error(s), 1 warning(s)

Добавлено через 22 часа 41 минуту
Ну так что? Никто не знает, где ошибка? Или может я чего неправильно сделал?..
Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
01.05.2011, 19:53     Ортонормированная матрица + #4
Что такое ортонормированная матрица?
uHrBapp
1 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 25
01.05.2011, 20:08  [ТС]     Ортонормированная матрица + #5
Sokolov, Вроде та, в которой произведение строки на строку равно 1.

Добавлено через 3 минуты
Насчет приведенной здесь программы asics-ом, то заработало. Поменял имена переменных в цикле и все запустилось) Большое спасибо за труд!
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
01.05.2011, 20:14     Ортонормированная матрица + #6
Цитата Сообщение от Sokolov Посмотреть сообщение
Что такое ортонормированная матрица?
Это матрица в кот-ой скалярное произведение каждой пары различных строк равно 0, а скалярное произведение каждой строки на себя равно 1.Единичная матрица - самый простой пример.
Yandex
Объявления
01.05.2011, 20:14     Ортонормированная матрица +
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru