Как вы отображаете что-то из функции в окне отображения в графическом интерфейсе в MATLAB? - PullRequest
2 голосов
/ 04 февраля 2010

У меня есть функция sumsurface, которую я использую в следующем коде для отображения определенных значений в командном окне:

if sumsurface(i) < .01 && sumsurface(i) > -.01

    disp(sumsurface(i)); 

    disp(pH(i));

end

Однако вместо этого я хочу отобразить sumsurface(i) и pH(i) в окне дисплея в графическом интерфейсе. Как я могу это сделать?

1 Ответ

5 голосов
/ 04 февраля 2010

Если вы хотите отобразить числа, в отличие от печати их, у вас есть несколько вариантов. Очень простой способ - использовать функцию MSGBOX для открытия диалогового окна и отображения строки. Сначала вам нужно преобразовать свои числа в строковое представление, используя такие функции, как INT2STR , NUM2STR или SPRINTF . Вот пример:

sumsurface = rand;  %# Pick a random number
pH = rand;          %# Pick another random number
str = {['sumsurface = ' num2str(sumsurface)]; ...
       ['pH = ' num2str(pH)]};  %# Creates a 2-by-1 cell array of strings
msgbox(str);

и вот получающееся диалоговое окно:

alt text

Вы также можете создавать статические текстовые поля самостоятельно, используя функцию UICONTROL . Это было бы лучшим выбором, если вы хотите вставить текстовые поля в существующий графический интерфейс. Вот пример того, как вы могли бы инициализировать рисунок и текстовые поля для GUI:

hFigure = figure('Position',[300 300 150 70],...
                 'MenuBar','none');
hText1 = uicontrol('Style','text','Parent',hFigure,...
                   'Position',[10 40 130 20],...
                   'BackgroundColor',[0.7 0.7 0.7]);
hText2 = uicontrol('Style','text','Parent',hFigure,...
                   'Position',[10 10 130 20],...
                   'BackgroundColor',[0.7 0.7 0.7]);

Теперь вы можете использовать маркеры для текстовых полей, чтобы обновить свойство String до того, что вы хотите отобразить:

set(hText1,'String',['sumsurface = ' num2str(rand)]);
set(hText2,'String',['pH = ' num2str(rand)]);

и вот как выглядит фигура:

alt text

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...