Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 5

Заполнение матрицы (Метод анализа иерархий)

23.03.2012, 01:15. Показов 2936. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго время суток.
У меня такая проблема, нужно заполнить матрицу по таком принципу.
Главная диагональ - единички. Дальше заполняем половину матрицы случайными числами от 1 до 9, при чём если аij заполняется случайным числом то аji=1/аij. Вобщем в итоге для каждого элемента должно выполнятся аji=1/аij. Здесь все просто и понятно вот мой вариант заполнения:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
randomize;
For i:=1 to n do
 For j:=i to n do
  if i=j then mas1[i,j]:=1 //главная диагональ заполняется единичками
  else
   Begin
     c:=random(2);    //выбираем с какой стороны диагонали будем заполнять случайными числами
     if (c=0) then
      Begin
        mas1[i,j]:=random(9)+1; 
        mas1[j,i]:=RoundTo(1/mas1[i,j],-3); 
      end
     else
      Begin
        mas1[j,i]:=random(9)+1;
        mas1[i,j]:=RoundTo(1/mas1[j,i],-3);
      end;
   end;
Проблема в том что эта матрица должна быть согласованной(честно говоря даже не представляю как это) МАИ.xls - пример с поиском согласованности (в примере матрица не согласована) ВУ должно быть <=0,1.

Программно они реализовано так
Delphi
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
{otv1[i,1] - столбец Vi
otv1[i,2] - столбец Pi
otv1[i,3] - столбец лямда
otv3[1] - ІУ
otv3[2] - ВУ
otv3[3] - лямда}
For i:=1 to n do
 Begin
   d:=1;
   For j:=1 to n do
    d:=d*mas1[i,j];
   otv1[i,1]:=RoundTo(Power(d,1/n),-3);
 end;
For i:=1 to n do
 Begin
   s:=0;
   For j:=1 to n do
    s:=s+mas1[i,j]*otv1[j,1];
   otv1[i,3]:=RoundTo(s/otv1[i,1],-3);
   s:=0;
   For j:=1 to n do
    s:=s+otv1[j,1];
   otv1[i,2]:=RoundTo(otv1[i,1]/s,-3);
 end;
 
s:=0;
for i:=1 to n do
 s:=s+otv1[i,3];
otv3[3]:=RoundTo(s/n,-3);
otv3[1]:=RoundTo((otv3[3]-n)/(n-1),-3);
otv3[2]:=RoundTo(otv3[1]/BI[n],-3);
Так вот если зделать цыкл пока ВУ больше 0,1 - генерировать новую матрицу то это почти не возможно( у меня ни разу не получилась такая матрица).
Еще нашол "Определение 2.3. Матрица А является согласованной, если: aik = aij * ajk,i,j,k = 1..n" но немогу понять как его применить, ведь тогда нарушается аji=1/аij(или я дурак ничего не понимаю).
Вобщем это всё.
Пожалуйста помогите или увеличить шансы того что матрица будет згенерированна согласованной или сразу будет согласованной.
Зарание спасибо.
Вложения
Тип файла: xls МАИ.xls (24.0 Кб, 97 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2012, 01:15
Ответы с готовыми решениями:

Метод анализа иерархий
Привет всем!Меня зовут Таня.Учусь на программиста,срочна нужна помощь в разработке программного продукта для курсового проекта.Тема Система...

Метод анализа иерархий
пример скинуть у кого есть для примера кому не жалко программу

Метод анализа иерархий
Добрый день. Нужно написать простую программу на &quot;метод анализа иерархий&quot;, но с самим методом не могу разобраться. Есть три магазина и у...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2012, 01:15
Помогаю со студенческими работами здесь

Метод Анализа Иерархий на 1С
Добрый день! Друзья, помогите, пожалуйста, нужна обработка на основе МАИ. Абсолютно не в коммерческих целях, для учебы. Можно очень...

Запрограммировать Метод анализа иерархий (по книге Т. Саати)
начал программировать (у меня 4 критерия и 10 альтернатив) остановился на том, что не могу взять введенные данные из таблицы StringGrid1 ...

Создать метод аналитических иерархий и метод перестановок
создать метод аналитических иерархий и метод перестановок с добавлениями критериев и альтернатив по проектированию локальной вычислительной...

Метод частотного анализа
Добрый вечер! Понимаю, надежды мало, но, может, кто-нибудь все-таки сможет помочь. Нужно расшифровать шифр простой замены. Методом...

метод частного анализа
можно ли подвергнуть к атаке шифры DES и ГОСТ методом частного анализа?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru