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

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

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

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


Новичок
*

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

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


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

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

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


Новичок
*

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

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


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


Новичок
*

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

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


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


Новичок
*

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

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


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


Профи
****

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

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


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

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


Новичок
*

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

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


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


Гость






Нормирование матрицы? Поэлементно:
mx[i, j] := (mx[i, j] - minvalue) / (maxvalue - minvalue);
, где minvalue и maxvalue - соответственно минимальное и максимальное значение в матрице... В результате нормирования все элементы матрицы лежат в интервале 0 .. 1. Тебе это надо?
 К началу страницы 
+ Ответить 
moldis
сообщение 17.03.2009 23:17
Сообщение #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 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.03.2009 10:47
Сообщение #9


Гость






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


Новичок
*

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

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


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

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


Гость






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

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

Я жду результата нормирования моей матрицы твоим алгоритмом.
 К началу страницы 
+ Ответить 
passat
сообщение 18.03.2009 14:02
Сообщение #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 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.03.2009 7:45
Сообщение #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

 



- Текстовая версия 20.06.2025 17:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"