Помощь - Поиск - Пользователи - Календарь
Полная версия: Нормирование матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
moldis
Вот пытаюсь решить такую задачку :

Составить процедуру MatNorm(A,n,m,ires), которая осуществляет нормирование матрицы A размерности (m х n). В переменную ires логического типа необходимо занести значение true, если операция завершена благополучно, и значение false, если хотя бы в одной из строк матрицы A содержатся только нулевые элементы.

Не пойму как нормировать матрицу? Подскажите кто нибудь, достаточно теории.
Заранее спасибо!
passat
Определителем?
moldis
куда копать?
Если можешь скинь сссылки)
moldis
так и не понял как определитель может мне помочь...(
Айра
Матричная норма
не уверена, что оно..
moldis
Норма матрицы, тоже думаю не поможет...
Неужели никто не делал такую задачу?
sad.gif
volvo
Нормирование матрицы? Поэлементно:
mx[i, j] := (mx[i, j] - minvalue) / (maxvalue - minvalue);
, где minvalue и maxvalue - соответственно минимальное и максимальное значение в матрице... В результате нормирования все элементы матрицы лежат в интервале 0 .. 1. Тебе это надо?
moldis
Цитата(volvo @ 17.03.2009 22:53) *

Нормирование матрицы? Поэлементно:
mx[i, j] := (mx[i, j] - minvalue) / (maxvalue - minvalue);
, где minvalue и maxvalue - соответственно минимальное и максимальное значение в матрице... В результате нормирования все элементы матрицы лежат в интервале 0 .. 1. Тебе это надо?


СПАСИБО! огромное! Я думаю это smile.gif
Не подскажешь ссылку где теорию почитать можно?
volvo
Теорию чего? Математики? smile.gif Это ж элементарно, чтобы привести набор значений к интервалу 0 .. 1 надо сначала изо всех значений вычесть минимум, тогда все они будут в интервале 0 .. (max - min). Что теперь надо сделать, чтобы этот интервал стал 0 .. 1? Правильно, разделить на (max - min). Какая еще теория нужна?
passat
Тогда решение может быть проще. Саму-то нормированную матрицу ведь выводить не нужно?
Минимальный элемент матрицы должен быть первым в строке и строка должна состоять из одинаковых символов. Т.е. просматриваем по строкам, прерываем просмотр, если найдено первое несовпадение с первым элементом строки. Максимальный элемент искать вообще необязательно - даже вредно: какая разница, на что Вы разделите ноль, зато деления на ноль никогда не будет. smile.gif

На больших не специально подобранных матрицах выигрыш будет очень существенным.
volvo
Цитата
Тогда решение может быть проще.
Правда? Ну, попробуй... Вот тебе матрица:
6 5 4 3
7 4 3 2
8 3 2 1
9 2 1 3
Не специально подобранная, заметь, случайная. Хочешь - еще десяток приведу. Могу сгенерировать рандомно. Отнормируй ее своим алгоритмом. Результат будет какой?

Цитата
Минимальный элемент матрицы должен быть первым в строке и строка должна состоять из одинаковых символов.
Ох ты, умный какой!!! Так это и есть СПЕЦИАЛЬНО подобранная матрица. Или ты в задании увидел такое условие? Что за люди - как алгоритм подсказать - так их нет, а как какую-то муть написать - это всегда пожалуйста.

Я жду результата нормирования моей матрицы твоим алгоритмом.
passat
5 4 3 2
6 3 2 1
7 3 2 1
8 2 0 3

Нерпавильно? Но ведь матрицу и НЕ НАДО нормировать. Достаточно проверить, подлежит ли матрица нормированию: не будет ли после нормирования строк, состоящих из одних нулей.

Т.е. мой алгоритм выполнит задачу за 4 шага. Нормирование потребует минимум одного полного прохода и опять же просмотра хотя бы одной строки.

Я Вам другой вариант матрицы предложу:
1 1
1 1

Возможно, что-то пропустил.
Lapp
Цитата(passat @ 18.03.2009 14:02) *
Нерпавильно? Но ведь матрицу и НЕ НАДО нормировать. Достаточно проверить,
...
Возможно, что-то пропустил.
Явно пропустил. Из двух, ты почему-то увидел только последнее предложение (выделяю болдом пропущенное):
Цитата(moldis @ 17.03.2009 17:35) *
Составить процедуру MatNorm(A,n,m,ires), которая осуществляет нормирование матрицы A размерности (m х n). В переменную ires логического типа необходимо занести значение true, если операция завершена благополучно, и значение false, если хотя бы в одной из строк матрицы A содержатся только нулевые элементы.


Я немного сомневаюсь, что речь идет о нормировании описанным выше способом.. Иначе зачем во втором из процитированных мной предложений противопоставлять благополучное завершение и строку из нулевых элементов?.. blink.gif
Нормировки могут быть разными (как и нормы). Вот тут рассматривается аналогичная задача. Смущает только то, что в условии moldis матрица не квадратная..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.