| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Алгоритм] матрица косинусов векторов |
| Автор: knopka 25.3.2008, 14:46 |
| Имеется матрица значений косинусов между векторами. типа: a b c a |1 |0.8 |0.3 | b |0.5 |1 |0.2 | c |0.2 |0.7 |1 | Одинаковых векторов нет. необходимо к одному выбранному вектору найти ортогональные или со значением косинуса в например в диапазоне от 0 до 0,3. При этом у найденных векторов, косинусы (между собой) тоже должны лежать в этом диапазоне. Тоесть нужно (как я понимаю) найти такие строчки и столбцы в матрице на пересечении которых значение от 0 до 0,3 Пока решаю задачу так: вычисляю в столбцах количество ячеек удовлетворяющих условию, затем удаляю столбец где это количество меньше всего и также удаляю строку с таким же порядковым номером что и столбец. И так повторяю до конца. Результат то получаю, но не покидает чувство, что это не рационально. Может кто подскажет более хороший алгоритм. Заранее спасибо. |
| Автор: Akina 25.3.2008, 16:38 |
Это - массив в памяти? |
| Автор: knopka 25.3.2008, 17:37 |
| Вообще я делаю в StringGrid e |
| Автор: maxdiver 25.3.2008, 21:38 |
| Что-то я никак не могу понять, почему матрица не симметрична. Почему угол между a и b не равен углу между b и a? |
| Автор: knopka 26.3.2008, 13:27 |
| да нет она конечно симетричная, просто так записал. |