IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Нормирование матрицы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Вот пытаюсь решить такую задачку :

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

Не пойму как нормировать матрицу? Подскажите кто нибудь, достаточно теории.
Заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской

Репутация: -  0  +


Определителем?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


куда копать?
Если можешь скинь сссылки)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


так и не понял как определитель может мне помочь...(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Матричная норма
не уверена, что оно..

Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Норма матрицы, тоже думаю не поможет...
Неужели никто не делал такую задачу?
sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






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


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 17.03.2009 22:53) *

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


СПАСИБО! огромное! Я думаю это smile.gif
Не подскажешь ссылку где теорию почитать можно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Теорию чего? Математики? smile.gif Это ж элементарно, чтобы привести набор значений к интервалу 0 .. 1 надо сначала изо всех значений вычесть минимум, тогда все они будут в интервале 0 .. (max - min). Что теперь надо сделать, чтобы этот интервал стал 0 .. 1? Правильно, разделить на (max - min). Какая еще теория нужна?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской

Репутация: -  0  +


Тогда решение может быть проще. Саму-то нормированную матрицу ведь выводить не нужно?
Минимальный элемент матрицы должен быть первым в строке и строка должна состоять из одинаковых символов. Т.е. просматриваем по строкам, прерываем просмотр, если найдено первое несовпадение с первым элементом строки. Максимальный элемент искать вообще необязательно - даже вредно: какая разница, на что Вы разделите ноль, зато деления на ноль никогда не будет. smile.gif

На больших не специально подобранных матрицах выигрыш будет очень существенным.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






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

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

Я жду результата нормирования моей матрицы твоим алгоритмом.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской

Репутация: -  0  +


5 4 3 2
6 3 2 1
7 3 2 1
8 2 0 3

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

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

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

Возможно, что-то пропустил.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(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 матрица не квадратная..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 22:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name