2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 (Maple) процедура vweight
Сообщение25.07.2012, 19:31 
vweight(G) выдаёт table, а не массив. Пример вывода:

Код:
table(sparse, [a = 2, b = 5, c = 7])

где a, b, c $-$ вершины графа $G$.

Как просуммировать автоматически эти значения (чтобы выдавал сумму 14)? Просто у меня вершин очень много в графе...

 
 
 
 Re: (Maple) процедура vweight
Сообщение26.07.2012, 13:14 
С «дискретной математикой» в СКА Maple я не возился, но заглянув в help, увидел, что там все подробно описано.
Если веса имеют численные значения, то используем add
Пример (Maple 15)
Код:
> with(networks):
> new(G):
> addvertex([a,b,c], weights=[1,2,3],G):
> T:= vweight(G);
         T:= table(sparse, [b=2, a=1, c=3])
> add(T[i], i in vertices(G));
             6

 
 
 
 Re: (Maple) процедура vweight
Сообщение26.07.2012, 16:47 
Класс!!! Спасибо огромное! :D Прямо то, что нужно!

-- 26.07.2012, 16:48 --

Правда, я не понял как Вы в хелпе вышли на эту конструкцию
Код:
add(T[i], i in vertices(G))


-- 26.07.2012, 16:55 --

Как суммировать эти значения $-$ теперь понятно. Не могли бы Вы, пожалуйста, подсказать ещё как среди них автоматически можно найти максимальное? :oops:
Код:
max()
не получается...

 
 
 
 Re: (Maple) процедура vweight
Сообщение26.07.2012, 17:37 
Под рукой нет справки, поэтому как это сделать грамотно в networks не скажу.
Я просто напишу, как это можно сделать с таблицей, т.е. пусть имеется таблица
T:= table(sparse, [a=1, b=2, c=3]):
И нужно найти максимальное значение. Максимум из списка можно найти при помощи функции max. При помощи вызова entries(T, 'nolist') можно получить последовательность выходов (опция 'nolist' есть в Maple 12; когда она была добавлена не помню). Так мы приходим к
Код:
> max([entries(T, 'nolist')]);
              3

 
 
 
 Re: (Maple) процедура vweight
Сообщение26.07.2012, 17:49 
Вау!!! Работает, всё получилось! Вы просто бог мейпла! :D Спасибо большое!

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group