Юрий Федоров
Посетитель
Всего сообщений: 39
Дата регистрации: 07.09.2007
|
Создано:
10.04.2008 15:40:03
|
Здравствуйте.
Объект Rastr обладает множеством методов и свойств, и основные из них приведены в описании к программе:
расчетные методы: rgm, opt,kdd,ekv
доступа к данным: Load,Save,Tables
и др.
А за что отвечают методы с названиями jacobi, opf, stes? Если предположить, что первый фомирует матрицу Якоби, а второй имеет отношение к оптимизации (OptimalPowerFlow), то о назначении третьего можно только догадываться
Просьба по возможности прокомментировать методы и набор входных/выходных данных.
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1059
Дата регистрации: 23.04.2007
|
Создано:
11.04.2008 00:20:15
|
jakobi - формирует матрицу для внутреннего использования.
opf - комплексная оптимизация, про входные и выходные данные можно издать отдельную книгу. В обычном комплекте RastrWin эта функция не разрешена. Для оптимизации есть специальный комплекс "LincorWin"
stes - оценивание состояния. Он пока не реанимировано с DOS-версии.
Кроме того там еще много чего интересного есть в интерфейсе. Вас что-то конкретное может быть интересует ? Обращайтесь, расскажем.
|
|
|
Юрий Федоров
Посетитель
Всего сообщений: 39
Дата регистрации: 07.09.2007
|
Создано:
11.04.2008 20:52:16
|
Замечательно, спасибо за открытость!
Собственно, аппетит приходит во время еды, поэтому нельзя успокоиться, наверное, пока не узнаешь об объекте RASTR все или почти все
Больше всего интересует оптимизация, но не стандартная, а другая- с распределением генерации с контролем загрузки сечений или линий, минимизацией ограничения нагрузки в случае дефицитных режимов и т.п. Но раз opf не доступна в обычном комплекте Rastr, то по ней вопросов нет.
А вот, про jacobi просьба поподробнее. Как хранится матрица, и как обращаться к ее элементам?
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1059
Дата регистрации: 23.04.2007
|
Создано:
15.04.2008 19:53:20
|
Оптимизация такая и есть как Вы хотите, только не очень понятно что тогда делает стандартная. На этом методе даже вроде бы объемы под САОН считали довольно успешно.
Рекомендую изучить макрос "Расчет матрицы Якоби". Он прямо в каталоге Макро, на виду лежит, его без OleView хорошо видно
|
|
|
Юрий Федоров
Посетитель
Всего сообщений: 39
Дата регистрации: 07.09.2007
|
Создано:
16.04.2008 21:14:53
|
Вы, наверное, говорите про opf-оптимизацию. Охотно верю и читаю подробности на http://www.t-s-g.ru/lincor.htm. Оптимизация на любой вкус, потрясающе!
Облизываюсь , но в Rastr 2.25b имеем opt-оптимизацию с целевой функцией мин(активные потери+отклонения напряжения). Ее и "обозвал" стандартной.
А макроса "Расчет матрицы Якоби" не нашел Все облазил, но... Может, это в полном комплекте Барс-Линкор?
P.S. Вычислить элементы Якобиана не сложно, имеются соответсвующие формулы. А все таки, может можно получить их непосредственно? (Раз Якобиан используется в расчете Влияние/Реация...только выудить его оттуда через dr_p и т.п. почти нереально %))
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1059
Дата регистрации: 23.04.2007
|
Создано:
18.04.2008 16:41:16
|
Макрос в почте на листе смотрите
|
|
|
Юрий Федоров
Посетитель
Всего сообщений: 39
Дата регистрации: 07.09.2007
|
Создано:
23.04.2008 20:51:35
|
Маркос получил, спасибо. Но он еще требует соответствующий шаблон 'матрица якоби.mc'
|
|
|
Михаил Одинцов
Постоянный посетитель
Всего сообщений: 148
Дата регистрации: 22.07.2008
|
Создано:
05.02.2013 20:59:44
|
Какой методов макро и как запускает автоматику? Пробовал Rastr.RunAutomatic (это правильный метод?), но не получилось, не понятны какие входные переменные, причем две типа int32. Попробовал ради интереса с взятыми из головы, вернулось значение 1, автоматика не сработала. Rastr 2.45.
Есть примеры кода с использованием автоматики? Нужно:
1.расчет режима
2.применение автоматики
3.расчет режима.
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1059
Дата регистрации: 23.04.2007
|
Создано:
05.02.2013 23:47:35
|
http://rastrwin.ru/support/forum/read...essage3169
Все ошибки и предупреждения автоматика выводит в протокол.
|
|
|
Михаил Реутов
Постоянный посетитель
Всего сообщений: 224
Дата регистрации: 21.11.2007
|
Создано:
28.05.2013 09:50:13
|
Приветствую.
Есть метод или функция, которая "глобально" прерывает выполнение макроса?
|
|
|
Михаил Реутов
Постоянный посетитель
Всего сообщений: 224
Дата регистрации: 21.11.2007
|
Создано:
31.05.2013 13:33:20
|
Приветствую.
Имеется ли возможность в макро получить перечень элементов, которые будут отключены, если будет рассчитан режим?
|
|
|
Александр Александров
Администратор
Всего сообщений: 659
Дата регистрации: 31.05.2008
|
Создано:
31.05.2013 14:39:14
|
Здравствуйте!
Нельзя получить список откл. линий.
Можно попробовать переделать макрос
http://rastrwin.ru/macro/vrnt.php
на возврат списка откл. или восстановления исходной топологии.
|
|
|
Сергей Шавловский
Заглянувший
Всего сообщений: 2
Дата регистрации: 19.02.2013
|
Создано:
03.06.2013 17:35:14
|
День добрый! Мне для своих нужд необходимо записывать в массивы VBA результаты утяжелений с различными вариантами отключений . Приходится делать это поэлементно с использованием циклов.
Есть ли возможность у Растра (или у языка VBA) записать значения объектной переменной, например,
Set kpr_znach = rastr.Tables("ots_znach") (значения контр. величин)
сразу в массив без использования циклов?
|
|
|
Вадим
Гость
|
Создано:
03.06.2013 17:53:13
|
а почему бы не экспортировать таблицу с рассчитанными величинами КВ после расчетов сразу в csv через метод WriteCSV? а уже после всех расчетов сделать анализ полученных файлов CSV (запихнуть туда все, что потом понадобиться для расчетов)
Такой метод все равно бы в своей реализации содержал циклы.. Так что можете не расстраиваться
в растре вряд ли есть такой
в vba вы можете создать свой класс, в котором можно реализовать такой метод для таблиц Растра)
|
|
|
Сергей Шавловский
Заглянувший
Всего сообщений: 2
Дата регистрации: 19.02.2013
|
Создано:
03.06.2013 18:19:10
|
Вадим, благодарю)
Кстати, в настоящий момент так и происходит. Автоматическая запись вариантных расчетов+утяжелений в csv. Затем обработка. Есть желание уменьшить количество промежуточных элементов и сразу писать в массив. (массив массивов по кол-ву вариантов).
Правильно ли я понимаю, что такой метод все равно будет чем-то типа функции, возвращающей результат расчетов в массив, только циклический процесс будет невидимым для пользователя?
В связи с этим ещё интересен вопрос как работает метод WriteCSV, который сразу записывает всю таблицу. Это ведь то что нужно, но с использованием внешнего файла. Вряд ли там используется цикл. (имхо)
В идеале для меня как пользователя - создать массив требуемой размерности и типа, и сразу присвоить ему значения элементов таблицы растра.
|
|
|
Вадим
Гость
|
Создано:
03.06.2013 18:32:41
|
я, конечно, не сомневаюсь в гениальности программистов растра, но думаю без цикла они там не смогли обойтись))))
вы можете сделать свой аналог метода WriteCSV, он принимает имя таблицы, нужные столбцы и возвращать массив.. Внутри своего метода вы обойдете всю таблицу через цикл и вернется пользователю массив данных..
Чтобы не утруждаться с созданием и указанием размерности, можно воспользоваться
либо объектом "Scripting.Dictionary"
http://www.script-coding.com/WSH/Dictionary.html
либо через функцию split
http://www.w3schools.com/VBscript/func_split.asp
либо через Redim Preserve
Все равно кому-то придется сделать черную работу по обходу значений в цикле)
|
|
|
Евгений Машалов
Администратор
Всего сообщений: 1059
Дата регистрации: 23.04.2007
|
Создано:
03.06.2013 19:35:57
|
Код |
---|
Set spNode = Rastr.Tables("node")
arr = spNode.WriteSafeArray("ny,name","")
for i = LBound(arr) to Ubound(arr)
for j = LBound(arr,2) to Ubound(arr,2)
Rastr.PrintP arr(i,j)
Next
next
|
|
|
|
Вадим
Гость
|
Создано:
03.06.2013 19:51:02
|
O_o может прольете свет на функцию по получению имени файла по шаблону..
http://rastrwin.ru/support/forum/read...=9&TID=571
|
|
|
Вадим
Гость
|
Создано:
06.06.2013 03:49:03
|
Цитата |
---|
Есть метод или функция, которая "глобально" прерывает выполнение макроса? |
http://www.rastrwin.ru/support/forum/...essage3309
Если основной текст макроса запихнуть в головной sub, то exit sub глобально прервет выполнение без ошибки, подойдет?)
|
|
|
Михаил Реутов
Постоянный посетитель
Всего сообщений: 224
Дата регистрации: 21.11.2007
|
Создано:
06.06.2013 12:55:41
|
Это и так понятно, что так можно сделать. Но вопрос был совсем про другое... А если функция вызывается внутри "глобальной" функции, то как остановить выполнение макроса внутри этой функции без создания дополнительных условных конструкций?
|
|
|
Михаил Одинцов
Постоянный посетитель
Всего сообщений: 148
Дата регистрации: 22.07.2008
|
Создано:
24.06.2013 16:56:46
|
Я так понимаю, в растре есть встроенные функции sum, max, min. Каким образом из макроса их вычислить (использую Матлаб)
K>> Rastr.Calc('max','node','ny','na=1')
??? Invoke Error: Incorrect number of arguments
Это реально сделать в матлабе?
P.S. нашел функцию Rastr.CalculateImmediately - это вроде тоже самое
|
|
|
Михаил Одинцов
Постоянный посетитель
Всего сообщений: 148
Дата регистрации: 22.07.2008
|
Создано:
25.08.2015 14:33:23
|
Цитата |
---|
Set spNode = Rastr.Tables("node")
arr = spNode.WriteSafeArray("ny,name","")
for i = LBound(arr) to Ubound(arr)
for j = LBound(arr,2) to Ubound(arr,2)
Rastr.PrintP arr(i,j)
Next
next |
Обратной штуки нет? Без цикла закинуть (заменить данные) массив в Растр?
|
|
|
bogdanov
Модератор
Всего сообщений: 61
Дата регистрации: 11.10.2012
|
Создано:
25.08.2015 18:59:03
|
Код |
---|
Set spNode = Rastr.Tables("node")
spNode.ReadSafeArray(CSV_KOD, "ny?,name", arr)
|
CSV_KOD: 0 - добавить, 1 - заменить
|
|
|
Вадим Адамец
Заглянувший
Всего сообщений: 3
Дата регистрации: 20.03.2019
|
Создано:
20.03.2019 23:48:14
|
Евгений, доброго времени суток, можно тоже получить макрос "Расчет матрицы Якоби"?
|
|
|
Станислав Богданов
Модератор
Всего сообщений: 61
Дата регистрации: 11.10.2012
|
Создано:
21.03.2019 12:35:06
|
Макрос и шаблон включены в состав дистрибутива.
|
|
|