0 / 0 / 1
Регистрация: 06.11.2010
Сообщений: 125
1

Проверить матрицу на ортоганальность

07.04.2011, 21:52. Показов 2365. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет=)
Вот такое задание есть: "Проверить матрицу ортоганальная ли она (с помощью функций), то есть скалярные произведения каждого ряда на другой равны о"
Подкиньте идею пож...
Заранее спасибо=)
0
07.04.2011, 21:52
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.04.2011, 21:52
Ответы с готовыми решениями:

Проверить и перестроить матрицу
Помогите пожалуйста решить задачу. Написать программу. Граф задан матрицей инцеденции. Определить является ли он антисимметричным или...

Проверить матрицу на выполнения условия
Проверить матрицу на выполнения условия AT = -A Помогите, пожалуйста. Не знаю как сделать

Проверить бинарную матрицу на негатранзитивность
подскажите как проверить бинарную матрицу на негатранзитивность

6
0 / 0 / 1
Регистрация: 06.11.2010
Сообщений: 125
09.04.2011, 20:22  [ТС] 2
Аууу, пож. помогите...=(
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
09.04.2011, 20:25 3
ваши нароботки? хотя бы матрицу сами заполнили
0
0 / 0 / 1
Регистрация: 06.11.2010
Сообщений: 125
23.04.2011, 19:52  [ТС] 4
Вот написал вроде,правильно? У меня вопрос, как проверить если опеределитель равен +1 или -1 то ортогональная, а если нет то не...?Спасибо заранее=)
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
void proverka (int **mas)
{int mass[2][2];
 cout << "Vvedite matricu 2*2 -> ";
 for (int i=0;i<2;i++)
 for (int j=0;j<2;j++)
 cin >> mass[i][j];
 {int opr = mass[0,3] - mass [1,2*2-2+1]}
Добавлено через 6 часов 54 минуты
Вот попытался написать, ну не компилируется...Какие ошибки подскажите пож..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int proverka (int **mas, int opr)
{int mass[2][2];
 cout << "Vvedite matricu 2*2 -> ";
 for (int i=0;i<2;i++)
 for (int j=0;j<2;j++)
 cin >> mass[i][j]; // Ввод массива
 {int opr = mass[0,3] - mass [1,2*2-2+1];} // Нахождение определителя
 {if (opr == 1) cout << "Ort";
   else 
       cout << "Ne ort";
 return opr;}}
    
 
void main ()
{int **mass;
 for (int i=0;i<2;i++)
  for (int j=0;j<2;j++)
 {
 mass[i][j]=rand()%100;
 cout << mass[i][j] << " ";}
 proverka (mass);
 int opr;
 cout << opr << " " ;}
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
23.04.2011, 20:05 5
Цитата Сообщение от leha-demi Посмотреть сообщение
Вот написал вроде,правильно? У меня вопрос, как проверить если опеределитель равен +1 или -1 то ортогональная, а если нет то не...?Спасибо заранее=)
да, но это скорее следствие
определение - то что скалярное произведение столбцов или строк равно нулю
0
0 / 0 / 1
Регистрация: 06.11.2010
Сообщений: 125
23.04.2011, 20:44  [ТС] 6
Спасибо=) А как сделать скалярное произведение строк или столбцов матрицы (функцию)?Извините за наглость=)xД
0
4 / 4 / 0
Регистрация: 01.06.2010
Сообщений: 27
24.04.2011, 05:12 7
В википедии написано что такое ортогональная матрица-Это матрица которая при умножении на ее транспонированную матрицу даёт единичную матрицу. A*At = E
Что мешает сделать транспонированную матрицу, перемножить их и проверить результат на соответствие единичной матрице?
Или сложнее немного- найти определитель и проверить на равность +(-)1.

Добавлено через 20 минут
Посмотрел Код.
Он ведь на C? тогда понятно почему не компилируется., ошибок миллион. Если задача только для матрицы 2х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
include <conio.h>
include <iostream.h>
include <stdio.h>
using namespace std;
int proverka (/*int **mas, int opr*/) 
// вообще непонятно, в прототипе функции два аргумента, в основной функции при вызове один аргумент - Зачем передавать определитель?
{
int mass[2][2];
 cout << "Vvedite matricu 2*2 -> "<<endl;
 for (int i=0;i<2;i++)
 for (int j=0;j<2;j++)
 cin >> mass[i][j]; // Ввод массива
 
int opr = mass[0][0]*mass[1][1] - mass[1][0]*mass[0][1]; // Нахождение определителя
 if ((opr == 1)||(opr==-1)) cout << "Ort";
   else 
           cout << "Ne ort";
return opr;
}
    
 
void main ()
{
/*int **mass;*/// это вообще не понял нафиг нужно, но память не выделена поэтому не работает
 /*for (int i=0;i<2;i++)
  for (int j=0;j<2;j++)
 {
 mass[i][j]=rand()%100;*/
// если в функции задавать матрицу какой тол задавать её в main рандомно и вообще потом передавать в функции если создаешь в ней другой массив?
 //cout << mass[i][j] << " ";}
 int opr = proverka (); // функция возвращает значение а здесь оно ничему не присваивается надо было так int opr = proverka(mass);
 //int opr;
 cout <<endl<< opr << " " ;
}
0
24.04.2011, 05:12
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2011, 05:12
Помогаю со студенческими работами здесь

Как проверить матрицу на единичность?
Здравствуйте, такое дело, как сделать проверку матрицы на единичную??? Ищу уже неделю никак не могу найти, наброски есть но мне кажется что...

Как проверить матрицу на одинаковые элементы
Программа работает с динамической матрицей. Есть вопрос: как при вводе пользователем с клавиатуры эл-тов массива контролировать на...

Проверить матрицу на рефлексивность, симметричность и транзитивность
Ошибка: массив имеет другое количество размерностей Задание: проверить матрицу на рефлексивность, симметричность и транзитивность ...

Составить матрицу, проверить столбцы на наличие нуля
Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти номер такого столбца. Упорядочить его элементы...

Проверить матрицу на наличие элементов, равных данному
Нужно проверить есть ли в двумерном массиве повторяющийся максимальный элемент. Если находим хотя бы один такой же, то сразу выходим из...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Создаем SPA Router на чистом JavaScript
bytestream 17.02.2025
В современной веб-разработке одностраничные приложения (SPA) стали стандартом для создания динамичных и отзывчивых пользовательских интерфейсов. Ключевым компонентом любого SPA является роутер -. . .
Машинное обучение на TypeScript и TensorFlow
bytestream 17.02.2025
Машинное обучение становится все более востребованным направлением в современной разработке программного обеспечения. Интеграция искусственного интеллекта в веб-приложения открывает новые возможности. . .
Манипуляция данными EXIF и JPEG в JavaScript
bytestream 17.02.2025
В современном мире цифровой фотографии метаданные изображений играют важнейшую роль в организации и управлении медиаконтентом. Формат EXIF (Exchangeable Image File Format) - это стандарт,. . .
Как создать GUID/UUID в JavaScript
bytestream 17.02.2025
GUID (Globally Unique Identifier) и UUID (Universally Unique Identifier) - это специальные форматы 128-битных идентификаторов, которые практически гарантируют уникальность значения во времени и. . .
Что такое мышление в упрощенном смысле (моё субъективное видение, для создания модели).
Hrethgir 17.02.2025
Разумеется упрощать смысл есть. Дело в том, что я пришёл к тому выводу, что даже если я создам свой процессор (конвейер), то первое для чего смогу его использовать в качестве демонстративного. . .
Как Node.js устроен изнутри
Wired 17.02.2025
Node. js коренным образом изменил подход к веб-разработке, позволив использовать JavaScript не только в браузере, но и на стороне сервера. Созданный в 2009 году Райаном Далем, Node. js представляет. . .
Как обновить Node.js в Windows
Wired 17.02.2025
Думаю, многие разработчики сталкивались с ситуацией, когда устаревшая версия Node. js становилась источником проблем - от несовместимости с новыми пакетами до уязвимостей в безопасности. Особенно это. . .
Как обновить Node.js в MacOS
Wired 17.02.2025
В Node. js существует несколько подходов к обновлению, каждый из которых имеет свои преимущества и особенности применения. Выбор конкретного метода зависит от ваших потребностей - будь то. . .
Как обновить Node.js в Linux
Wired 17.02.2025
Обновление Node. js может показаться сложной задачей, особенно если у вас несколько проектов с разными зависимостями. Однако существует несколько надежных способов обновления, подходящих для разных. . .
[golang] 134. Gas Station
alhaos 17.02.2025
Тут нам даны два целочисленных слайса gas и cost, индексы массива представляют собой заправочные станции. а элементы gas это количество топлива на такой станции, cost это количество топлива. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru