получение значения из флажка в Matlab 2018 - PullRequest
0 голосов
/ 05 февраля 2019

Я обновляю свой Matlab с 2013b до 2018b и обнаружил, что MathWorks внесло немало изменений в графический интерфейс.

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

if get (handles.check_perf_attr, 'Value') == 1

Сообщение об ошибке:

Undefined operator '== 'для входных аргументов типа' cell '.

Поэтому я попробовал строку ниже, чтобы просто получить возвращаемое значение и затем применить некоторую логику.

tValue = get (handles.check_perf_attr, 'Value');

Однако tValue - это 2 x 1 ячейка, которая в (1, 1) = 0 & (2, 1) = 1. Я не знаюна самом деле это не понимают, поскольку флажок может быть только одним значением true (1) или false (0)?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

"Точечная запись - это новый синтаксис для доступа к свойствам объекта, начиная с R2014b."

, поэтому попробуйте

if handles.check_perf_attr.Value == 1

или

tValue = handles.check_perf_attr.Value;
0 голосов
/ 05 февраля 2019

get возвращает массив ячеек со значениями при применении к массиву дескрипторов.

Таким образом, я думаю, что ваша проблема в том, что handles.check_perf_attr содержит два дескриптора, а не один.

...