Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Matrix. Оцените новую систему матричных вычислений для Delphi   Найти похожие ветки 

 
Джо ©   (2005-10-03 01:31) [40]

[39] _111_   (03.10.05 01:19)
> СПОРИМ НЕ НАЗОВЕТЕ?

Спорим :)
Только сначала выясним что же есть "область программирования"? То, что это не "настраивание интерфейса", я уже понял ;)


 
_111_   (2005-10-03 02:35) [41]

ладно что-то я загнул(сплю уже). Имел в виду область направления программирования(или как там Это назвать?), ну там всевозможные моделирование, алгоритмирование, автоматизация, игропроизводство, прогнозирование и др.
Я понимаю, что многое здесь не сочитается, но классификаций полно же, по крайней мере в перечисленном без матриц не обоидешься(можно конечно, но геморойно)


 
_111_   (2005-10-03 03:01) [42]

Давай, Диман (Loginov Dmitry), грызи гранит науки никого не слушай и пиши пока есть чем писать, есть чем думать что писать и есть что есть чтоб думать о чем писать


 
Джо ©   (2005-10-03 03:03) [43]

Ну, вот, к примеру, написал я программу, проверяющую обновление неких данных на неких фтп-серверах и, в случае необходимости, скачивающую эти данные... Обходится вызовом нескольких функций из Windows.pas & WinInet.pas Внимание, вопрос (бом):
К какому "направлению программирования" относится эта программа, и -- зачем в ней "матричное исчисление"? ;-)


 
_111_   (2005-10-03 05:09) [44]

Ну, наверняка, сетевое. Любую сеть можно представить в виде графа, решение графа на нейросетях- сети на матрицах. А на счет твоей обновлялки - качалки, вообще, все качалки , работающие с обрывами сети, содержат кучу матриц, начиная с матриц состояния оборудования (регистры процессора, кластеры памяти) и заканчивая состоянием закачки файлов(ну ето только при HSCDS) (в табличной форме - по сути -тоже матрица).


 
Antonn ©   (2005-10-03 07:26) [45]

_111_   (03.10.05 5:09) [44]
проблему из пальца высосали...
В играх тоже врядли допустим этот компонент(или модуль). Я не скачивал его, но думаю не ошибусь, если скажу, что для игр делаются более специфичные функции, более оптимизированые. Так что тоже не прет.


 
Loginov Dmitry   (2005-10-03 10:44) [46]

Привет всем! Теперь у матрикса появился новый ардес:

http://matrix.kladovka.net.ru/

Высокая скорость закачки, новый дизайн.
Как вы оцениваете новый дизайн. Стоило ли переезжать на новое место?


 
Skyle ©   (2005-10-03 15:14) [47]

> [44] _111_   (03.10.05 05:09)
Ничего себе..
Вот это трава... Где брал?


 
Jeer ©   (2005-10-03 15:55) [48]

Проект заслуживает одобрения, хотя бы с точки зрения, саморазвития автора проекта.
Реальное применение сомнительно даже в учебных целях.


 
Anatoly Podgoretsky ©   (2005-10-03 16:02) [49]

Jeer ©   (03.10.05 15:55) [48]
Красиво так "похвалил", талантище :-)


 
Джо ©   (2005-10-03 16:08) [50]


> [44] _111_   (03.10.05 05:09)

Это никакая не "обновлялка" и ни с какими "обрывами" не работает. Это вообще плод воображения :) Но, тем не менее, пишется на основе 4-5 функций из WinInet и 10 из Windows.pas. И я даже представить себе не могу, куда бы там "запихнуть" эти матрицы :)


 
Jeer ©   (2005-10-03 16:16) [51]

Anatoly Podgoretsky ©   (03.10.05 16:02) [49]

Не сомневался, что мэтры "оценят" :))


 
Loginov Dmitry   (2005-10-03 19:51) [52]

Само собой, для специализированных, отработанных задач (типа компьютерной визуализации, "обновляловки" и т.п.) Matrix  малоэффективен. Используется только тип Real (8 байт), хотя для наиболее эффективного решения других задач могут потребоватся другие типы данных (например, в компьютерной графике используется тип Single и технология mmx). Однако, существуют не столь специализированные задачи, и скорость их реализации с матриксом увеличивается в десятки раз, причем скорее всего увеличится и скорость кода (по сравнению с традиционным программированием. Ведь многие программисты даже не подозревают, что есть такая замечательная функция Move))).


> Проект заслуживает одобрения, хотя бы с точки зрения, саморазвития
> автора проекта.
> Реальное применение сомнительно даже в учебных целях.

Jeer абсолютно прав насчет саморазвития. До этого я ни знал что есть класс :).
В учебных целях я планирую внедрить матрикс хотя бы на родной кафедре, а практика покажет... В любом случае, надо что-то думать насчет развития проекта, поэтому автор очень надеется на вашу помощь, господа программисты :). Правда, я не знаю, найдется ли хотябы один человек, который согласится написать хоть одну функцию для матрикса (или я ошибаюсь?)


 
Lamer@fools.ua ©   (2005-10-03 23:12) [53]

>>Loginov Dmitry   (03.10.05 19:51) [52]

>Ведь многие программисты даже не подозревают, что есть такая замечательная функция Move))

"Это неправильные пчёлы" ©


 
Profi ©   (2005-10-03 23:37) [54]

Loginov Dmitry   (03.10.05 19:51) [52]
Я вообще-то столкнулся по работе с проектом, где нужны были большие вычисления. Интеграл Дюамеля один из них. Но неделю назад проект заморозили, так как вычисления шли с большой погрешностью, которая (что самое интересное) с каждым проходом цикли уменьшалась(!).


 
GuAV ©   (2005-10-03 23:39) [55]


> Ведь многие программисты даже не подозревают, что есть
> такая замечательная функция Move

Ага, например эти http://dennishomepage.gugs-cats.dk/MoveChallenge.htm :)


 
_111_   (2005-10-04 00:48) [56]


> Джо ©   (03.10.05 16:08) [50]
> проблему из пальца высосали...
> В играх тоже врядли допустим этот компонент(или модуль).
>  Я не скачивал его, но думаю не ошибусь, если скажу, что
> для игр делаются более специфичные функции, более оптимизированые.
>  Так что тоже не прет.


А вот этого не надо!!! Меня прям за живое задело... ЛИЧНО делаю движок с испоьзованием MATRIX, реализация поиска пути, ИИ и др. Поиск пути работает просто замечательно (50 путей меняю на 1% fps, из всех мной увиденных, это самый нормальный способ, хотя есть и недостатки), ИИ в работе, но перспектива рисуется довольно приятная.
Кроме того MATRIX помогает решить многие геометрические задачи:
нахождение пересечений линий, плоскостей, координат точек при поворотах и переносах и другие.
А на счет "более оптимизированных функции" - оно вообще надо?  т.е. я хочу сказать, что сейчас чтобы загрузить полность систему даже средней производительности надо либо делать ОЧЕНЬ масштабный проект, либо быть полной бесдарностью в программировании! (Без обид - кто ковырялся меня поймет).

А теперь о нехорошем:
Мре не понравилась 1 "весчь" в MATRIXe - избыточность занимаемой памяти, т.е. я бы заменил тип у половины переменных (integer на word или byte, и везде Real на Single).
Хотя это я уже, наверное, придираюсь. наверняка кому-то понадобовятся большие числа и определенная точность.


 
GuAV ©   (2005-10-04 00:58) [57]

_111_   (04.10.05 0:48) [56]

> избыточность занимаемой памяти, т.е. я бы заменил тип
> у половины переменных (integer на word или byte

Эту фразу можно поместить в орешник.


>  и везде Real на Single

А там таки real ? Стрёмный тип этот Real вообще-то.


 
_111_   (2005-10-04 01:26) [58]


> GuAV ©   (04.10.05 00:58) [57]

Ну про орешник ты зря, задача то актуальная - простой пример, сколько оперативки сожрет матрица 1000000x1000000, состоящая из 0 и 1 элементами типа Byte, а теперь представь, что элементы матрицы имеют тип Integer (а значения такие же- 1 и 0). А теперь вопрос: В чем разница? в 3 раза (проверено)

а вещественные: там и Double и Extended


 
_111_   (2005-10-04 01:33) [59]


> Loginov Dmitry   (30.09.05 23:16)  

Диман, а можно сайт как-нибудь по проще сделать?
Мне режут взгляд слова типа "мощнейшая, не имеющая на сегодняшний день аналогов".
Например:
"мощная, не имеющая в России аналогов"
а то кто ее знает?


 
Дмитрий Белькевич   (2005-10-04 02:39) [60]

>А вот этого не надо!!! Меня прям за живое задело... ЛИЧНО делаю движок с испоьзованием MATRIX, реализация поиска пути, ИИ и др. Поиск пути работает просто замечательно (50 путей меняю на 1% fps, из всех мной увиденных, это самый нормальный способ, хотя есть и недостатки), ИИ в работе, но перспектива рисуется довольно приятная.

Посмотрим на результат.


 
Real2   (2005-10-04 06:13) [61]

> _111_   (04.10.05 01:33) [59]

Как тут любят шутить модераторы: "детский сад в другом месте".
Можете начинать обижаться.


 
Antonn ©   (2005-10-04 08:11) [62]

_111_   (04.10.05 0:48) [56]
Кроме того MATRIX помогает решить многие геометрические задачи:
нахождение пересечений линий, плоскостей, координат точек при поворотах и переносах и другие.

аналитическая геометрия, можно и без матриц.


 
Loginov Dmitry   (2005-10-04 10:03) [63]


> _111_   (04.10.05 01:33) [59]

Если найдешь хоть один аналог в мире, то будет в России. Если найдешь хоть одни аналог в России, то будет в Пензе (а может и вообще - в ПГУ) :)


 
Loginov Dmitry   (2005-10-04 10:04) [64]


> _111_   (04.10.05 01:33) [59]

Если найдешь хоть один аналог в мире, то будет в России. Если найдешь хоть одни аналог в России, то будет в Пензе (а может и вообще - в ПГУ) :)


 
12DFBDD   (2005-10-04 10:11) [65]

Loginov Dmitry   (04.10.05 10:04) [64]
ты не пробывал выкладывать в "кладовку"?
попробуй двинуть свой компонент на королевстве
http://www.delphikingdom.ru/


 
Loginov Dmitry   (2005-10-04 11:04) [66]


> 12DFBDD   (04.10.05 10:11) [65]

Так куча ссылок, аж в глазах рябит. Куда тыкать надо?


 
Loginov Dmitry   (2005-10-04 13:49) [67]


> ты не пробывал выкладывать в "кладовку"?

Я уже создал новый сайт в кладовке

Народ! Кто-нибудь смотрел проект на делфи, отличной от 6 и 7, а то на этих работает, а на остальных не знаю (нету их у меня). Сообщите, если кто уже посмотрел.


 
12DFBDD   (2005-10-04 13:53) [68]

Loginov Dmitry   (04.10.05 13:49) [67]
ссылку в студию


 
Antonn ©   (2005-10-04 13:57) [69]

12DFBDD   (04.10.05 13:53) [68]
[46]


 
esu ©   (2005-10-04 15:07) [70]


> Loginov Dmitry

Я вот понять не могу, что сподвигло использовать тип real ?  2005тый год все же...

Вот ссылка на статью про real (и не только), возможно твой пакет станет работать гораздо быстрее после прочтения :)
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374


 
Jeer ©   (2005-10-04 15:49) [71]


> esu ©   (04.10.05 15:07) [70]


Почему и сказано выше - "даже в учебных целях ни-ни":)

function TWorkspace.NewArray(const Name: String; StartValue,
 FinishValue: Real; Step: Extended): Integer;
//
 RTemp: Extended ;
//
 RTemp := StartValue;

Вообще "кислое с пресным":)


 
jack128 ©   (2005-10-04 15:53) [72]

esu ©   (04.10.05 15:07) [70]
Вот ссылка на статью про real (и не только), возможно твой пакет станет работать гораздо быстрее после прочтения :)

{$REALCOMPATIBILITY OFF}
если представишь мне код с этой директивой, в котором бы real проигрывал бы хоть в чем то типу Double, я сьем свою шляпу


 
Jeer ©   (2005-10-04 16:09) [73]

В Matrix отсутствует данная директива.


 
Игорь Шевченко ©   (2005-10-04 16:22) [74]

Не нравится.

Посмотрел исходники, скачанные из кладовки

   sh1:=0; // Обнуляем значение счетчика
....
         if ElemI[iA, i, j] <> 0 then sh := sh + 1;
       end;
       if sh > sh1 then sh1 := sh;
....

а также не нравятся виртуальные функции в разделе private

Исходники нечитаемые. Добро бы был готовый продукт, а раз программировать с их помощью предлагается, исходники бы надо в порядок привести. Для начала отформатировать хотя бы в Borland"овском стиле.

Есть такой эксперт - DelForEx, форматировщик исходного кода, встраивается в Delphi, бесплатный.
Рекомендую: http://www.dow.wau.nl/aew/DelForExp.html


 
Loginov Dmitry   (2005-10-04 16:53) [75]


> [72]

Насчет Real и Double: объясните, чем они отличаются. Насколько я знаю, в Delphi - это одно и то же.


> Вообще "кислое с пресным":) [71]

Шаг Step в этой функции должен иметь повышенную точность, по сравнению с Realом, иначе накапливается недопустимо большая погрешность. В матлабе это эквивалентно созданию массивов так: a=1:10:100000 или a=1:1.00000000001:100 (во втором случае Realом не обойтись).


> [74]

В таком стиле я программировал в матлабе на 1-м курсе. Здесь просто демонстрируется пример, как из матлаба код был переведен в Delphi.


> Исходники нечитаемые

Чужие исходники всегда нечитаемы :). Постараюсь исправиться :)


 
Игорь Шевченко ©   (2005-10-04 16:59) [76]

Loginov Dmitry   (04.10.05 16:53) [75]


> Чужие исходники всегда нечитаемы :).


Неправда ваша. Исходники Борланд читаются легко.

Я вполне серьезно рекомендую отформатировать для начала.


 
GuAV ©   (2005-10-04 17:01) [77]


> Ну про орешник ты зря, задача то актуальная - простой
> пример, сколько оперативки сожрет матрица
> 1000000x1000000, состоящая из 0 и 1 элементами типа
> Byte, а теперь представь, что элементы матрицы имеют
> тип Integer (а значения такие же- 1 и 0).


С матрицами может было бы и так и так. Но в [58] речь шла о "избыточности занимаемой памяти" переменными типа integer. Учитывая значение опции align {$A8} несколько переменных типа integer заимут столько же памяти, что и то же количество переменных типа byte.


 
Loginov Dmitry   (2005-10-04 17:23) [78]


> В Matrix отсутствует данная директива. [73]

В Delphi директива уже установлена по умолчанию в OFF


 
_111_   (2005-10-05 01:30) [79]

Здарова.
В очередь господа!!!


> Дмитрий Белькевич   (04.10.05 02:39) [60]
> Посмотрим на результат.

Базаришь, доведу до логического конца и выложу, возможно вместе с исходниками.


> Real2   (04.10.05 06:13) [61]
> Как тут любят шутить модераторы: "детский сад в другом месте".
> Можете начинать обижаться.

Вообщето я не обидчивый и люблю выслушивать мнения других людей. В связи с этим вопрос: В какой "детский сад" мне? (в чем я не прав?).


> Antonn ©   (04.10.05 08:11) [62]
> аналитическая геометрия, можно и без матриц.


Не спорю, можно, сам делал. Недавно выводил формулу (и упрожал) для простой задачки - принадлежит ли точка плоскости(полигону), и наити 3ю координату на ней. долго выводил, упрощал, очень долго, бумаги одной сколько извел. Вывел - не работает (ошибка в середине). Забил. И чисто случайно в этом же пособии (по аналитической геометрии) была матрица 4х4 =0 - подставляй значения и считай. Все. (по MATRIX проверил - одно деление, никаких корней и "трехэтажных" дробей).


> Loginov Dmitry   (04.10.05 10:03) [63]
> Если найдешь хоть один аналог в мире, то будет в России.
>  Если найдешь хоть одни аналог в России, то будет в Пензе

во-первых, я и с первого раза понял. А во-вторых, на счет нашего разговора - это строчка из первого абзаца с твоего сайта.


> GuAV ©   (04.10.05 17:01) [77]
> Учитывая значение опции align {$A8} несколько переменных
> типа integer заимут столько же памяти, что и то же количество
> переменных типа byte.

Можете меня чудом лесным считать, но специально седня проверял по всякому, и у меня такого результата не вышло. Использовал Memload с разными форточками. Может что еще в компиляторе поковырять? буду презнателен.


 
GuAV ©   (2005-10-05 01:45) [80]

2 _111_


> Может что еще в компиляторе поковырять?

Да, можешь посмотреть CPU, если справки недостаточно.

Точно Project->Options->Compiler заданно 8 или установленно {$A8} ?


> Использовал Memload

Не верь.
Для Delphi програм объективным показателем является System.AllocMemSize, и он отображает только выделенную дельфийским менеджером память. Стек в прочем легко вручную проверить :)

Сорри за оффтоп.



Страницы: 1 2 3 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.049 c
14-1129108254
Dush
2005-10-12 13:10
2005.10.30
Как узнать структуру файла?


14-1128941406
Ega23
2005-10-10 14:50
2005.10.30
Как это есть сказать по-русску?


2-1128492682
Серг73
2005-10-05 10:11
2005.10.30
ADO+Acess


2-1128435019
Dell3r
2005-10-04 18:10
2005.10.30
Interbase


8-1118300801
PhotoManiac
2005-06-09 11:06
2005.10.30
Разгрузить ЦП при захвате фотографий с веб-камеры