Форум кафедры Техники и Электрофизики Высоких Напряжений

Онлайн-сообщество ТВНщиков
Гостям форума:

Добро пожаловать на форум по технике высоких напряжений!
Для получения доступа ко всем разделам необходимо зарегистрироваться


Текущее время: 25 сен 2020, 04:05

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 27 апр 2009, 00:07 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4323
Откуда: Д-3
Черный фон графиков Simulink истребил уже много лишнего порошка и чернил для принтеров по всему миру, и давайте сэкономим хотя бы порошок студенческий и кафедральный. При открытом окне Scope, нужно в командной строке Matlab выполнить две команды:

Код:
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')


Теперь у графиков появляется меню, через которое можно отредактировать любые настройки, включая фон.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 29 апр 2009, 11:59 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 353
Откуда: Д-4а
В случае, когда поправить надо один блок, этот способ, безусловно, хорош.
А что делать, когда много блоков Scope?

Вариант 1: настроить один блок, а потом его копировать в пределах модели. Не очень удобно, потому что для каждой новой модели нужно настраивать хотя бы один блок Scope.
Вариант 2: сделать так, чтобы все блоки Scope во всех моделях текущей папки имели бы белый фон. Для этого распакуйте файлы из приложенного архива simscope_forCurrentFolder.zip в нужную папку.
Вариант 3: сделать так, чтобы все блоки Scope везде имели бы белый фон. Для этого необходимо заменить файл simscope.p в папке <MatlabInstallFolder>\toolbox\simulink\simulink.

В измененном файле:
цвет фона графиков - белый
цвет осей - черный
цвет графиков:
1 - blue
2 - red
3 - green
4 - magenta
5 - black
6 - light blue

З.Ы. Данное изменение работает в версиях 7.х. Думаю, что в версиях 6.х проблем быть не должно.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 29 апр 2009, 12:23 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4323
Откуда: Д-3
ух ты

попробую - расскажу что вышло


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 29 ноя 2010, 18:53 
Не в сети

Зарегистрирован: 21 окт 2009, 00:00
Сообщения: 7
Цитата:
Вариант 2: сделать так, чтобы все блоки Scope во всех моделях текущей папки имели бы белый фон. Для этого распакуйте файлы из приложенного архива simscope_forCurrentFolder.zip в нужную папку.
Вариант 3: сделать так, чтобы все блоки Scope везде имели бы белый фон. Для этого необходимо заменить файл simscope.p в папке <MatlabInstallFolder>\toolbox\simulink\simulink.




А не знаете как это сделать в Matlab'е R2010b? Просто я пытался сделать это, следуя по выше указанным пунктам, но безуспешно, так как не нашел вообще в <MatlabInstallFolder> файла simscope.p, а постоянно прописывать
Код:
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')

маленько напрягает, когда делаешь курсовую...
Помогите пожалуйста!!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 30 ноя 2010, 00:57 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 353
Откуда: Д-4а
Вариант 2 работает прекрасно в R2010b.
Matlab выдаёт предупреждения, но работает.

Но есть способ лучше (только для R2010b).
В файле <MatlabInstallFolder>\toolbox\simulink\simulink\+Simulink\+scopes\Util.m
ищем строку
Код:
function [axesColor, ticColor, axesColorOrder] = AxesColors(thisComputer)
и меняем в этой функции значения
Код:
axesColor = 'k';
ticColor  = 'w';
например, на
Код:
axesColor = 'w';
ticColor  = 'k';

Обратите внимание, что на x64-системах значение переменной thisComputer равно PCWIN64, а не PCWIN, то есть работает ветка otherwise оператора switch.

Для изменения цвета фона окна необходимо найти строку
Код:
function [scopeFig, scopeUserData] = Initialize(block)
и изменить значение переменной figColor
Код:
figColor = [0.5 0.5 0.5];
например, на
Код:
figColor = [1 1 1]; % белый фон окна блока Scope


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 01 дек 2010, 15:55 
Не в сети

Зарегистрирован: 21 окт 2009, 00:00
Сообщения: 7
Спасибо, все получилось способом для R2010b! но вот появился следующий вопрос: можно ли и если можно то как в этом способе поменять цвет графика с желтого на другой и распределить цвета других графиков если на scope подается не один сигнал?
как допустим
Цитата:
цвет графиков:
1 - blue
2 - red
3 - green
4 - magenta
5 - black
6 - light blue

Хотя лучше если 1-black.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 01 дек 2010, 16:41 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 353
Откуда: Д-4а
Переменная axesColorOrder хранит порядок цветов. См. функцию
Код:
function [axesColor, ticColor, axesColorOrder] = AxesColors(thisComputer)
в файле <MatlabInstallFolder>\toolbox\simulink\simulink\+Simulink\+scopes\Util.m.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 01 дек 2010, 18:07 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4323
Откуда: Д-3
:idea:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 04 дек 2010, 15:43 
Не в сети

Зарегистрирован: 21 окт 2009, 00:00
Сообщения: 7
Спасибо, разобрался! :prekl:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 04 дек 2010, 21:20 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 353
Откуда: Д-4а
Рады помочь! :-)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 29 июн 2011, 18:22 
Не в сети

Зарегистрирован: 29 июн 2011, 15:36
Сообщения: 1
А можно немного подробнее.Как задать другой цвет, не желтый?Пожалуйста


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 02 июл 2011, 22:53 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 353
Откуда: Д-4а
Переменная axesColorOrder хранит порядок цветов:
Код:
axesColorOrder = [
   1 1 0
   1 0 1
   0 1 1
   1 0 0
   0 1 0
   0 0 1];


В MATLAB для задания цвета применяется модель RGB, т.е. любой цвет составляется из красного (R), зелёного (G) и синего (B) цветов.
Поэтому в переменной axesColorOrder:
первая строка - это жёлтый цвет: 100% красного, 100% зелёного, 0% синего;
вторая строка - сиреневый цвет: 100% красного, 0% зелёного, 100% синего;
и т.д.
Можно поменять порядок строк (именно они задают цвет линий) и тогда жёлтый цвет будет не первым. А можно задать свои цвета для линий: каждое значение может принимать значение в диапазоне от 0 до 1.
Подбирать цвет по цифрам можно в любом графическом редакторе (например, Photoshop).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 01 дек 2011, 10:44 
Не в сети

Зарегистрирован: 01 дек 2011, 10:16
Сообщения: 19
Добрый день. В командной строке MATLAB абираю команду
set(0,'ShowHiddenHandles','On')
set(gcf,'menubar','figure')
при открытом окне scope-появляется панель с помощью которой я делаю пояснения к получившемуся в ходе моделирования графика, т е выноски, пишу текс и ставлю legend- обозначение линий на графике.
нажимаю печатать- принтер выдает лист с исходным графиком БЕЗ ПОЯСНЕНИЙ И ДОПОЛНИТЕЛЬНЫХ линий которые я сделал с помощью меню (вызванное командой указанной выше). Пожайлуста поясните как эти пояснения сделать видимыми для принтера, т.е. какую команду нужно набрать чтобы все преобразования отпечатались на листе.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 02 дек 2011, 17:11 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4323
Откуда: Д-3
Распечатывайте в pdf, во-первых, это работает, во-вторых - получите масштабируемое изображение в векторном формате.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2011, 09:16 
Не в сети

Зарегистрирован: 01 дек 2011, 10:16
Сообщения: 19
"во-вторых - получите масштабируемое изображение в векторном формате"

В simulinke я пока что новичек, можете пояснить, как сделать по пунктам "получите масштабируемое изображение в векторном формате" на простом примере-блок Sine Wave и scope
просто я не представляю что такое масшабируемое изображение в векторном формате и что оно дает мне при печати в scope c допол. линиями?????
Заранее спасибо


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2011, 09:48 
Не в сети

Зарегистрирован: 01 дек 2011, 10:16
Сообщения: 19
Попробывал распечатать с помощью FinePrint pdfFactory Pro - при сохранение выводится мой график ну опять без дополнительных построений и текста и соответственно сохраняю его в pdf, открываю этот фаил и там тоже чисто график и все..... такое ощущение что эти дополн. построения сделаны в отключенном слое..., вот как его включить вопрос ?????


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2011, 13:08 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4323
Откуда: Д-3
Проверил - у меня тоже печать неправильно работает после правок графика. А вот пункт меню Edit->Copy Figure работает как надо, попробуйте. После копирования рисунка в буфер его можно скинуть сразу в Word или в Photoshop, если нужна доп. обработка.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2011, 16:44 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 03 сен 2008, 17:00
Сообщения: 353
Откуда: Д-4а
Стрелки, текст, заголовок, легенда, выноски - всё попадает в файл pdf при печати.
Странно. Какая версия MATLAB?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2011, 16:47 
Не в сети

Зарегистрирован: 01 дек 2011, 10:16
Сообщения: 19
Большое спасибо. Все получилось!!!
Хотелось всетаки узнать ради интереса что такое "получите масштабируемое изображение в векторном формате"


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2011, 16:51 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4323
Откуда: Д-3
Leonid писал(а):
Стрелки, текст, заголовок, легенда, выноски - всё попадает в файл pdf при печати.
Странно. Какая версия MATLAB?

У меня в 2011а не попадает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB