Как получить среднее число в графический интерфейс Matlab из строки ячейки? - PullRequest
0 голосов
/ 24 ноября 2011

Я создаю графический интерфейс Matlab для извлечения среднего числа PnL из строки двойных ячеек 1047 * 1 с именем pnl_P1 в текстовое окно редактирования с именем (функция Average_PnL_Pair_1_Callback (hObject, eventdata, дескрипторы)). Какой самый простой или очень простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Если я правильно понимаю вашу проблему, я сделаю следующее.

Не храните числа в строковом массиве ячеек, но если необходимо, используйте среднее (cell2mat (pnl_P1)), чтобы получить среднее значение.Создайте значение под дескрипторами, чтобы вы могли получить доступ к вектору pnl_P1 из любого места.

handles.pnl_P1 = pnl_P1;

Убедитесь, что вы всегда обновляете свои дескрипторы после каждой функции в вашем графическом интерфейсе.Настоятельно рекомендуется.% Update обрабатывает структуру

guidata(hObject, handles);

Введите значение в поле редактирования:

set(handles.edit1,'String',mean(cell2mat(handles.pnl_P1)));

handles.edit1 - это дескриптор тега для поля редактирования, которое вы хотите обновить.

Что такое тег для вашего поля редактирования?Просто: в руководстве щелкните правой кнопкой мыши на вашем окне редактирования, выберите инспектор свойств, прокрутите вниз до TagЕсли написано edit1, используйте handles.edit1 и так далее.

Если вы новичок в Matlab GUI, я рекомендую this. Они перестали его обновлять, но это отличный источник обучения.

Надеюсь, это поможет.

1 голос
/ 24 ноября 2011

Хочешь mean(cellfun(@str2double, pnl_P1))?

...