Консультация № 186966
17.12.2012, 23:08
2000.00 руб.
19.12.2012, 13:45
0 33 1
Здравствуйте, уважаемые эксперты! Прошу вас помощи в следующем вопросе:
Имеется решенная лабораторная работа по предмету ТОЭ. Нужно переписать эту лабу в программе skilab 4.1.2. Может не правильно поставил задачу, извините за кривость, просто не знаю как еще написать) И так же нужно, что бы прога при запуске рисовала графики (кроме первого).
И сохраните плиз код в файле.

Вот фото лабораторной работы. https://rfpro.ru/upload/8958



Обсуждение

давно
Мастер-Эксперт
259041
7459
20.12.2012, 01:54
общий
20.12.2012, 02:44
Спасибо Игорю Константиновичу за внимание и старание! Теперь я могу догадываться, что "6.8 Мб" - это объём архива https://rfpro.ru/upload/8958 , 7 картинок - это, вероятно, его содержимое. Я скачал архив, немного подредактировал некачественные фотки для улучшения их обзора, разместил их на https://rfpro.ru/upload/8984 (1.26 Mб , может, кому пригодятся?).

Я не знаю, что это за программа skilab? (На запрос "skilab" Google-поиск возвратил www.skilab.com/ производитель лыж). Из фразы "нужно, что бы прога при запуске рисовала графики" догадываюсь, что она из класса схем-симуляторов.

"переписать эту лабу в программе skilab 4.1.2" - догадываюсь: автор вопроса хочет создать такую же схему в skilab, запустить симулятор и получить графики - этого достаточно? Ведь расчёты уже сделаны, программа НЕ занимается расчётами на бумаге. А зачем тогда приложены фото с расчётами? Это сбивает с толку…

"кроме первого" - о чём это? - не могу догадаться.
Когда слишком много догадок, то велик риск догадаться НЕ в нужном направлении и зря потратить время. Я не берусь за эту расплывчатую и долгую работу. Может, другие эксперты поняли задание?
Неизвестный
20.12.2012, 10:29
общий
я соглашаюсь что криво написал. работа вся заключается в том, что нужно просто задать переменные и записать формулы, которые есть в рассчетах лабораторной.

пример:
Ica=0 Ibc=1.381
Ic=Ica-Ibc

сложного ничего нет, для того кто знает этот язык.
давно
Мастер-Эксперт
259041
7459
20.12.2012, 16:38
общий
20.12.2012, 16:44
Адресаты:
Спасибо за ссылку! Не удаётся. Без Download Master инет закачка обрывается при малейшей паузе в инете. Поэтому, я настроил перехват закачки в DMaster. Админы http://файлообменник.рф навязывают свой "фирменный" менеджер закачки, я отказываюсь от их наглого вымогательства (может, он шпион?).
Как т-ко мой DMaster перехватыв закачку, она обрыв-ся "File downloading with download manager or different browser is allowed only for premium users" = Закачка менеджером закачки или отличающимся браузером позволена т-ко премиальным польз-лям (купившим Gold-статус).
При 2й попытке снова запрет: "Документ просрочен". В 3й: "Этот документ более не доступен". Да ну их!! Пусть подавятся…
давно
Модератор
18584
3280
20.12.2012, 17:19
общий
20.12.2012, 17:20
Тады вот так http://rusfolder.com/34205104

давно
Мастер-Эксперт
259041
7459
21.12.2012, 03:17
общий
Адресаты:
Указанный Вами http://rusfolder.com/ - лучший файло-обменник!! Не ограничивает, не издевается, не прячет Скачать-кнопу в скрипты ("NoScript" защищает мой FireFox и трафик от закачки скриптов-паразитов), разрешает менеджеры закачек!! Я скачал Scilab-4.1.2 ! Спасибо Вам, Игорь Константинович!
Неизвестный
22.12.2012, 00:10
общий
Напишите, поможете или нет?
давно
Мастер-Эксперт
259041
7459
22.12.2012, 07:44
общий
Я заменил переменную "омега" на "o", тк программа scilab-4.1.2 не приемлет имена переменных из расширенного UniCode. На мои первые команды:
f=50,o=2*%pi*f
R1=150,R2=120,R3=200,Rk=13.5
L=0.277,C=16/1000000
Zab=R1
Zbc=R2+Rk+%i*o*L
Zca=R3-%i(1/(o*C))

программа возвратила:
o=314.15927
C=0.000016
Zab=150.
Zbc=133.5 + 87.022117i
Zca=200. - 198.94368i

Цитата: "Напишите, поможете или нет?" - рус-help предоставлен в дистрибутиве для устаревш version scilab-2.6. На изучение прог-языка, чтение расплывчатых фото и построение графиков мне придётся оставить все свои дела и затратить примерно 3 дня. Я оцениваю свою работу в 1000 руб. Так как половина стоимости консультации отчисляется за услуги Портала, я прошу повысить цену Вашего вопроса до 2000 руб.
Неизвестный
22.12.2012, 23:32
общий
Адресаты:
ок! завтра переведу деньги
давно
Мастер-Эксперт
259041
7459
23.12.2012, 15:52
общий
24.12.2012, 01:09
Хорошо, спасибо! Я продолжаю работу. Код (1 кБайт) для первой части Вашей лабораторной работы готов и опробован. Отправляю его Вам на проверку-замечания.

Распакуйте архив Code1.zip в какую-нибудь папку. В окне своей копии программы scilab-4.1.2 из меню File выберите команду Exec . В открывшемся Exec-окне в полях Папка и ИмяФайла задайте путь к моему распакованному файлу Code1.txt . Программа мигом выполнит код-действия, отображение кот-х умещаются на 1 страницу прог-окна и запросит у Вас "[More (y or n ) ?]" (Далее: Да или Нет?) . Жмите клавишу Enter или Space для пролистывания процесса дальше (клавиша N прерывает исполнение). В конце исполнения увидите "exec done" - успешное окончание.

Вы можете просмотреть значения переменных прокруткой экрана или вводом имён переменных. Например, введите Ia , нажмите Enter , и прога возвратит Вам значение Ia=2.2194302 - 0.2038402i (в Амперах). Если нужно преобразовать полученное значение в модуль и угол, используйте функции abs(Ia) , и atan(imag(Ia),real(Ia))*180/%pi . (Просто вставьте в прог-строку abs(Ia) и нажмите Enter. Умножение на 180/пи переводит радианы в градусы).
Эта программа в отличие от многих прочих чувствительна к размеру букв (переменные i и I - разные!).
Символы // - начало комментария, он поможет Вам понять смысл кода. Прога игнорирует коммент до конца код-строки.

Вы бы хоть кратким текстом пояснили свои вопросы, а то в "мыльных" фотках неразборчиво. Я понял, будто Вам надо рассчитать 3 режима: 1)Несимметричный полнофазный с указанными на фото сопротивлениями,
2)Обрыв нагрузки Zca (вижу Zca=бесконечн, а дальше вроде Xca=0 см - ерунда какая-то?), но фазы напряжения НЕ оборваны, верно?
3)Симметричн нагрузка, все Z=200 Ом.
Верно ли я понял? Графики Вам нужны НЕ синусоиды по оси времени, а векторы фаз, как на Ваших фотах?
Неизвестный
24.12.2012, 00:22
общий
Адресаты:
делайте как знаете, я в этом вообще...))

а вот графики нужны!
давно
Мастер-Эксперт
259041
7459
24.12.2012, 01:01
общий
Ну Вы хоть пробовали запуск кода? Получилось?

Вероятно, Вам проще будет запускать на исполнение 3 отдельных файл-кода для демонстрации всех Ваших 3х режимов в независимой последовательности?
Можно др вариант: использовать 1 общий код с паузой после окончания расчётов после каждого режима. Но тогда либо значения переменных позднего расчёта затрут значения раннего (вдруг захотите сравнить их?).
Либо к именам переменных добавим суффикс 1, 2 или 3 чтобы сразу исполнился весь расчёт. Вместо Pab будет Pab1, Pab2, Pab3… Не запутаетесь?
Неизвестный
25.12.2012, 02:19
общий
Адресаты:
посмотрел, все супер)
а вот можно, что бы все зннаечения выдавались на экран, с небольной задержкой?
чего то пабы пугают) но пусть сразу вся работа рассчитается? это реально?
давно
Мастер-Эксперт
259041
7459
25.12.2012, 15:41
общий
25.12.2012, 21:34
"можно, что бы все зннаечения выдавались на экран, с небольной задержкой?" - В программе Scilab-4.1.2 несколько пауз-команд: xpause(2D6) даёт паузу 2*10^6 µсекунд, т.е: 2секунды, но в первом применении она открывает зачем-то графическое окно (оно будет нужно т-ко в конце для графиков). Есть паузы, ожидающие Ваше клав-нажатие. Но если вынуждать Вас нажимать после вычисления каждого значения (а их примерно 200), Вам, вероятно, не понравится такая работа. Может, делать остановки после какой-то группы вычислений?

"чего то пабы пугают" - я не понял Вашего жаргона. Между нами тысячи км, давайте употреблять корректные и недвусмысленные выражения. Иначе я могу неверно догадаться и сделать не то, что Вам нужно.

"пусть сразу вся работа рассчитается? это реально?" - конечно, можно загружать 1 код-файл для всех 3х вариантов. После каждого варианта я сделаю паузу, чтоб Вы могли просмотреть значения переменных и скопировать их, пока они не изменились от работы над следующим вариантом. Готовлю Ответ, нарисовал схему, но не успеваю в срок.

Я пока не нашёл поддержку кириллицы в программе Scilab. Иногда отображает верно русские буквы, но чаще - кракозяблы. Перед исполнением очередного варианта я буду очищать экран и выводить заголовок типа: "Variant N3. Simmetrichnyi rezhim". Вам предпочтительнее читать в таком транслите или на чисто-английском?
давно
Мастер-Эксперт
259041
7459
25.12.2012, 15:46
общий
Прошу продлить срок окончания Консультации на 2 суток. Задача очень объёмная. Новая программа, комплексы, 3 фазы…
Неизвестный
25.12.2012, 19:14
общий
Адресаты:
ну да, 200 раз нажимать не варик. лучше с паузами после группы вычислений.

ну пару дней крайний срок, постарайтесь успеть!
давно
Руководитель
2
547
25.12.2012, 19:16
общий
Адресаты:
Владимир, вопрос уже продлялся, система не продлевает второй раз вопрос.
Можете отправить частичный ответ, а полное решение позже оставить в мини-форуме.
давно
Мастер-Эксперт
259041
7459
25.12.2012, 20:28
общий
Хорошо, понял. Через час я отправлю Ответ с Вычислителем. А графо-построитель добавлю позже.
давно
Мастер-Эксперт
259041
7459
25.12.2012, 21:28
общий
это ответ
Здравствуйте, Посетитель - 370501!
Для расчёта Вашей трёхфазной эл-цепи (рис1) скачайте архив Code2.zip (2 кБ). Распакуйте из него текстовый сценарий Code2.txt в какую-нибудь папку, чтобы её имя и путь к ней НЕ содержали национальных букв (программа scilab-4.1.2 не НЕ всегда способна загрузить сценарий из пути с наци-буквами).
Настройте свою программу scilab-4.1.2 : В её глав-окне из меню Preferences \ ChooseFont выберите шрифт Courier . Его набор символов = Кириллический позволит Вам читать сообщения сценария на русском языке.

В окне своей копии программы scilab-4.1.2 из меню File выберите команду Exec . В открывшемся Exec-окне в полях Папка и ИмяФайла задайте путь к распакованному файлу-сценарию Code2.txt . Программа выполнит ряд действий, отображение кот-х умещаются на 1 страницу прог-окна и запросит у Вас "[More (Y or N ) ?]" (Далее: Да или Нет?) . Жмите клавишу Enter или Space для пролистывания процесса дальше (клавиша N прерывает исполнение).

По Вашей просьбе я добавил в сценарий дополнительные паузы. Длительность тайм-паузы 2 секунды Вы можете изменять переназначением переменной pauz=2D6 в 9й строке файла Code2.txt . 2D6 означает 2*10^6 микро-секунд. В программе scilab-4 есть небольшой глюк: при исполнении тайм-паузы она зачем-то открывает дополнительное графическое окно поверх окна сценария. Не пытайтесь закрыть графи-окно, оно снова откроется! Лучше сверните его, и оно больше не будет мешать.

Все команды в сценарии снабжены подробными комментариями на русском языке. Они помогут Вам понять смысл кода и поправить программу, как Вам будет нужно. Символ // - начало комментария. Прога игнорирует коммент до конца код-строки.
К сожалению я не успеваю отправить в этом ответе код Графо-построителя. Я планирую закончить работу в течение 2х суток, и опубликую ссылку на Графо-построитель в минифоруме Вашего Вопроса.
С уважением.
Неизвестный
27.12.2012, 00:05
общий
Адресаты:
Вычисляю косинусы Фи для Ваттметров
cosW1 =

0.8660254
cosW2 =

0.8660254

а можно сделать так, что бы значение не переносилось на следующую строку?
давно
Мастер-Эксперт
259041
7459
27.12.2012, 02:30
общий
27.12.2012, 18:40
Вы правы, когда программа пропускает строку между именем обрабатываемой переменной и её вычисленным значением, то это смотрится неудобочитаемо. Получается, что значение переменной1 отображено на экране ближе к имени переменной2. Это можно поправить так: в код-строке
cosW1=real(Uac/Ia)/abs(Uac/Ia)
скрываем (маскируем) естесственное отображение процесса на экран добавлением символа ; в конце строки.
Ниже добавляем спец-команду вывода на экран в нужном нам формате:
disp('cosW1 = '+string(cosW1))
Она отображает имя переменной и её значение cosW1 = 0.8660254 в 1 строке.
И так надо сделать для всех результатов вычислений, которые Вы хотите отобразить в 1 строке. Сами сможете добавить disp-команды в код? Если неверно употребите '-апостроф (он на клавише Э) или скобку, прога укажет Вам N строки с ошибкой.

Вообще, в этой бесплатной Scilab-4.1.2 много досадных недоделок. В ней очень хороший вычислитель, но корявый и глючный графо-построитель, совсем нет возможности программной автоматизации. Я убил уже 5 дней в попытках организовать вызов процедур-функций для рутинных, повторяющихся действий (вычислять формулы токов и чертить векторы для Ваших 3х режим-вариантов).

Лучшее, что предлагает программа: вызов спец-написанной функции из ОТДЕЛЬНОГО файла. Но эта прога не понимает упрощённого вызова доп-файла без указания ПОЛНОГО пути к нему (хотя почти все языки и Windows-Cmd-оболочка понимают, что файл, вызванный без указания пути, надо прежде всего поискать в текущей папке).

В графо-построителе я не нашёл возможности указать X-Y-координаты надписей к многочисленным векторам. Я снова не могу уложиться в обещанный доп-срок "2 суток" запрограммировать построение многочисленных векторов со стрелками в полном объёме. Ответьте пожалуйста:

Какой полный путь (например C:\Scilab или E:\Laba ) для Ваших компьютеров я могу указать в следующей версии моего сценария для вызова функции-помощницы, ускоряющей обработку всех Ваших 3х вариантов с однотипными вектор-графиками?
давно
Мастер-Эксперт
259041
7459
27.12.2012, 04:49
общий
Откройте папку, в которую Вы установили программу scilab-4.1.2 (у меня это папка C:\Program Files\scilab-4.1.2 ). В Проводник-окне Вы увидите папки bin , config , demos … Создайте там же, в папке в scilab-4.1.2, свою папку Laba . Скопируйте в неё сценарий Code2.txt . В окне запущенной программы scilab-4.1.2 дайте команду
exec SCI\Laba\Code2.txt;
Обязательно: слово exec - маленькими буквами, SCI - заглавными, в конце знак [;] точка с запятой.
Если по этой команде у Вас успешно запустится сценарий, то Вы сможете в дальнейшем легко перезапускать отлаживаемый сценарий простым нажатием клав-курсора СтрелкаВверх , затем Enter (вместо вызова кмд Exec из меню Файл, ввода его имени, пути…). Сообщите мне об успехе, и я таким же удобным способом запрограммирую вызов ускоряющих функций из папки Laba .
давно
Мастер-Эксперт
259041
7459
27.12.2012, 18:58
общий
Мне наконец удалось отбраковать глючные команды, и только что мой сценарий начертил цветные векторы с надписями. Сама программа Scilab-4.1.2 иногда удивляет: то 5 дней не удавалось русифицировать сообщения, а сегодня она 2жды загрузилась с рус-шрифтом и рус-клав-раскладкой - невозмож ввести англи-кмд или сменить клав-раскладку (замена шрифта из меню Preferences \ ChooseFont не помогла). Только перезапуск проги выручает.
Мне осталось привязать координаты векторов графика к векторам Ваших токов. Но для вызова файла функции мне надо знать, какой задать путь, чтобы этот же путь работал и у Вас?
Вам удалось загрузить сценарий Code2.txt командой exec SCI\Laba\Code2.txt; из папки \Program Files\scilab-4.1.2\Laba ? Если нет, то какая у Вас опер-система, и в какой папке установлена программа Scilab-4.1.2 ?
Неизвестный
28.12.2012, 00:33
общий
Адресаты:
Ну да, так удобнее)

все работает, папка : С/Program files (x86)/scilab-4.1.2
давно
Мастер-Эксперт
259041
7459
28.12.2012, 21:52
общий
Опробуйте пока что черновой вариант с графопостроителем. Распакуйте 2файла из архива (4кб) в папку C:\Program Files\scilab-4.1.2\Laba\ .
Запускайте из программы командой exec SCI\Laba\Laba1.sci;
Неизвестный
30.12.2012, 17:20
общий
Адресаты:
Все ок)

я все понимаю, но долго мне времени еще ждать до конечного варианта?
давно
Мастер-Эксперт
259041
7459
30.12.2012, 19:54
общий
30.12.2012, 20:30
Всё готово! Теперь моя программка и графики чертит. Быстро и красиво! Вот Вам подарок к Новому году.
Мне не удалось инвертировать координату X, чтоб справа были отрицательные значения, программа Scilab-4.1.2 возвратила: "Error: Impossible status min > max in x or y rect data". Чтобы сделать вектор j стрелкой влево, как в Вашей лабораторной работе, мне пришлось задать зеркальный график с инверсными X-координатами.
Распакуйте архив (4кб) в папку C:\Program Files\scilab-4.1.2\Laba\ и запускайте командой exec SCI\Laba\Laba1.sci; .

Если Вам придётся запускать программу на компьютере с ограниченной учётной записью (в институте…), то я при необходимости могу рассказать, как обойти запрет к папке C:\Program Files\ .
Неизвестный
30.12.2012, 21:48
общий
Адресаты:
все здорово, а что с первыми 2-я графиками? так и должно быть? первый пустой, только с рамкой, а второй с двумя линиями?
давно
Мастер-Эксперт
259041
7459
31.12.2012, 04:41
общий
31.12.2012, 05:27
Трудность нашего общения - изза непродуманности Ваших фраз. С какими "с двумя линиями?". Мне ведь, не видно за тысячи км… Вам стоило уделить лишь пару минут конкретизировать свою проблему. Вы обратили внимание на время изменения моих файлов в архиве? 3:24. Пол-ночи я продумывал прогнозы всех Ваших возможных трудностей. И не 1 ночь.

В программе Scilab-4.1.2 много недоделок. Например, функция xarrows(nx,ny,-1,[…]), рисующая векторы-стрелки, не имеет инструма задания формы окна и масштаба. Приходится предвари командой square(-sz,sz,-sz,sz) сделать прямоугольное окно квадратным. Но в этой кмд глючит масштаб-задание, и автор рус-хелпа советует задавать масштаб очередной командой plot2d(…), рисующей линии, но скрыть фикти-линию. В результате этих манипуляций активируется графическое окно программы Scilab, и Вы видите пустую рамку ещё не достроенного графика. А прог-окно ПОД ним останавлив-ся, заполнив очередной экран сообщений.

Графи-окно - т-ко отображает, но не принимает Ваших команд. Для продолжения работы Вы вынуждены возвратиться в прог-окно (пере-активить окна удобно клав-сочетанием Alt+Tab). Чувствуя Вашу нетерпеливость, я специально ввёл подробные сообщения в сценарии. На этапе, когда график очередного вариант-режима уже готов, но графи-окно скрыто под активным прог-окном, я отобразил для Вас: "Смотри График, потом жми Enter для очист экрана и продолж расчёта".

Но Вы, вероятно, невнимательно читаете, и жмёте Enter, не поглядев на красивый график, который затем очищается очередным вариантом, и уже новое графи-окно некстати активится на этапе подготовки. Поэтому, Вы видите т-ко последний график после сообщения об окончании всех расчётов.

Выход можно найти: расширьте границы окон, раздвиньте прог- и графи-окно по разным участкам экрана. Не закрывайте графи-окно, чтоб оно НЕ "забыло" Ваши геометрические настройки. Мож попытаться создавать 3 графи-окна для каждого варианта, либо попытаться применить кмд Cmdow.exe , управляющую активностью окон. Ваши 900р я уже давно добросовестно отработал. Поэтому, если Вы желаете усовершенствовать сценарий, то пожалуйста доп-оплату и Ваши подробно-описанные пожелания.

"так и должно быть? …второй с двумя линиями?" - сначала я полагал, будто Вы разобрались с фотографиями Вашей "лабы". Потом я сам стал разбираться, где недостающие векторы? Посмотрите внимательно: на графике Режим2 отсутствует всего 1 вектор Ica=0 (изза обрыва). Остальные 8 векторов видны, они частично слиты. Чтоб Вам и другим читателям было понятнее, я добавил в графи-процедуру команду if-else, отображающую доп-комменты для обрыв-режима: слились Ia=Iab; слились и растопырились Ic=-Ibc (у Ic стрелка к центру, у Ibc - к краю). Теперь понятно?

Если нет, то на графике Режим1 мысленно укоротите зелёную стрелку якобы уменьшением тока Ica. За точкой конца вектора Ica потянутся конец розового Ic и начало голубого Ia. Постепенно уменьшая величину Ica, Вы получите 2й график из 1вого (слияние векторов).
Неизвестный
01.01.2013, 14:58
общий
Адресаты:
да, невнимательно причитал, сори)

все супер! спасибо ра работу! С Новым Годом!))
давно
Мастер-Эксперт
259041
7459
01.01.2013, 15:59
общий
Я очень ждал Вашего сообщения, и рад, что у Вас всё получилось! Спасибо Вам за интересный Вопрос!
Примите и Вы мои поздравление и наилучшие пожелания!
Признаюсь честно: первое впечатление от мыльных фоток было отвратительным ("если заказчик не постарался, то почему я должен стараться?"). Только удивительно-настойчивая помощь Игоря Константиновича удержала меня при попытке убежать с этой страницы.
У меня только что получилось программно управлять активацией/сворачиванием окон с помощью кмд Cmdow.exe.
Извините за любопытство, а зачем Вам этот сценарий, если Лаба уже решена на бумаге? Вы учитесь на программиста или на электрика?
Форма ответа