На главную страницу
Русский English
 


Поддержка
Форум
Техподдержка
Закрытый разделПерсональная

Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация



Поиск по сайту


Подписка

Изменение параметров

Hits 66851579
7682
Hosts 3525170
1310
Visitors 53087792
7503

69


Главная / Поддержка / Форумы / Макро

Форум «Макро»

Версия для печати Версия для печати

Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация


Тема: « Rastr.rgm("") , Rastr.rgm("") и Rastr.rgm("с") » в форуме: Макро   Просмотров: 8884
 
oReg Rotanov
Посетитель
 
Всего сообщений: 12
Дата регистрации: 14.03.2012
Создано: 15.03.2012 18:03:50
 
 
Здравствуйте, друзья !
Помогите ,пожалуйста , разобраться в следующем вопросе.
Реализую макро в котором алгоритм с большим количеством итераций. По заданию необходимо выполнить расчет Rastr.rgm(""). При этом на каждой интреции выводится большое количество информативных сообщений об узлах и ветвях. Это сильно увеличивает время выполнения алгоритма.
Если провести расчет с параметром Rastr.rgm("с"), то информативные сообщения не выводятся.
В справке указано , что установка параметра "с" отключает контроль данных.
1. О каких данных идет речь?
2. Можно ли утверждать, что сообщения об узлах и ветвях, выводящиеся при расчете Rastr.rgm(""), носят чисто информативный характер, или это свидетельствует о том , что в ход расчета вносятся некоторые корректировки?
3. Можно ли утверждать, что ход расчета Rastr.rgm("") совпадает с ходом расчета Rastr.rgm("c"), за исключением вывода информативных сообщений(и соответствующих им прцедур сбора данных об узлах и ветвях)?
Заранее благодарен!
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1042
Дата регистрации: 23.04.2007
Создано: 15.03.2012 19:37:28
 
 
Ключ "с" отключает контроль данных, но никак не влияет на вывод в протокол, разве только в него не идут сообщения об отключениях ветвей. Чтобы отключить протокол - воспользуйтесь свойством LockEvent, а раcчет контролируйте по rgm() <> AST_OK. Подробнее можете почитать в этой теме.

1. Контроль устанавливает целостность графа сети и корректность параметров. Например, если Вы отключили узел, все ветви, инцидентные этому узлу тоже должны быть отключены и т.д. Отключение контроля используется тогда, когда эта операция однократно уже проделана при начальном расчете режима, а следующие расчеты идут с небольшими изменениями параметров и без изменения топологии. Например так работает утяжеление.
2. Свидетельствует.
3. Нет.
 
Профиль
Наверх
oReg Rotanov
Посетитель
 
Всего сообщений: 12
Дата регистрации: 14.03.2012
Создано: 15.03.2012 20:47:44
 
 
При расчете Rastr.rgm "" выводятся в протокол сообщения следующего вида

узел 1314 : отсутствует информация о районе N 7 - проверьте !
Ветвь 21-1103 : KT_max=0.1059 < KT=0.5360 - проверьте !
Отсутствует узел, ограничивающий ветвь:
Ветвь 1237 - 1239, Узлы 1237, 1239
Приведу фрагмент алгоритма

Rastr.rgm "" ' начальный расчет режима
for i=0 to 1000
qg.Z(i)=qg.Z(i)+5
Rastr.rgm "c"
if Rastr.Status<>0 then
Rastr.rgm "p"
end if
Rastr.printp pg.Z(175)
Next

Здесь
1. однократно проделан начальный расчет режима
2. Последовательно по узлам меняется qg
3.производится расчет
4.переход на следующую итерацию, т.о. топология не
меняется
А) Коректно ли будет в таком фрагменте кода применять Rastr.rgm "c" вместо Rastr.rgm ""? (при этом исполнение кода ускоряется и не выводятся предупреждающие сообщения)
Б) Не приведет ли это к искажению результатов ? (в задании указано использовать расчет режима идентичный нажатию F5)
Заранее благодарю!



 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1042
Дата регистрации: 23.04.2007
Создано: 15.03.2012 21:14:31
 
 
Да, корректно, только схему-то исправьте. Или технологов озадачте. Район заведите, скорректируйте Kt, с топологией разберитесь. Контроль ведь и придуман затем, чтобы технологу указать на ошибки в схеме. Судя по коду Вы желаете сделать утяжеление, которое уже в общем-то сделано. Может быть лучше воспользоваться этой функцией, она работать будет полюбому быстрее.
 
Профиль
Наверх
oReg Rotanov
Посетитель
 
Всего сообщений: 12
Дата регистрации: 14.03.2012
Создано: 16.03.2012 15:06:43
 
 
Спасибо, оперативную консультациию. Приведу уточненный код.
Rastr.rgm "" ' начальный расчет режима
for i=0 to 1000
qg.Z(i)=qg.Z(i)+5
Rastr.rgm "c"
if Rastr.Status<>0 then
Rastr.rgm "p"
end if
Rastr.printp pg.Z(175)
qg.Z(i)=qg.Z(i)-5
Next
Насколько я разобрался в утяжелениии, строка qg.Z(i)=qg.Z(i)-5 отличает приведенный фрагмент кода от утяжеления.
В прведенном коде параметр изменяется, проводится расчет, значение параметра установливается (возвращается) в первоначальное .
При утяжелении значения измененных параметров после расчета не возвращается в первоначальное ?
Заранее спасибо!
 
Профиль
Наверх
oReg Rotanov
Посетитель
 
Всего сообщений: 12
Дата регистрации: 14.03.2012
Создано: 16.03.2012 15:10:25
 
 
Как то нечетко предпоследняя строка просматривается.
Привожу уточнение.
Rastr.rgm "" ' начальный расчет режима
for i=0 to 1000
qg.Z(i)=qg.Z(i)+5
Rastr.rgm "c"
if Rastr.Status<>0 then
Rastr.rgm "p"
end if
Rastr.printp pg.Z(175)
qg.Z(i)=qg.Z(i) - 5 ' здесь минус 5
Next
 
Профиль
Наверх
Евгений Машалов
Администратор

 
Всего сообщений: 1042
Дата регистрации: 23.04.2007
Создано: 16.03.2012 16:57:39
 
 
Нет, не возвращается, но можно же сделать новый столбец, в него с помощью Calc скопировать все изменяющиеся параметры, выполнить расчет и вернуть тем же Calc исходные значения. В первоначальном варианте Вашего кода восстановления исходных значений не было, кажется.

Повнимательней посмотрев на новый код я вижу что Вы по очереди нагружаете узлы. Для чего это я пока не пойму, но наверное это зачем-то нужно. Может какие коэффициенты влияния посчитать. Тогда действительно, утяжеление Вам не подойдет.

 
Профиль
Наверх
oReg Rotanov
Посетитель
 
Всего сообщений: 12
Дата регистрации: 14.03.2012
Создано: 16.03.2012 17:24:32
 
 
Спасибо за разъяснения. На момент все прояснилось.
 
Профиль
Наверх



Читают тему
гостей: 1, пользователей: 0, из них скрытых: 0


Список форумов
Новые темы
Список тем
Поиск по форумам
Помощь
Войти
Регистрация







Программный комплекс «RasrWin»
Программный комплекс «RastrWin»
© «RastrWin», 1988-2019