Другие языки программирования и технологии

Матлаб guide, не считает символ деление

Всё работаtn, но эту строчку не видит. Выводит объём, но ток не делённый. handles.dlina заданна. Т. е. клацаем флажок, выбирается число, оно ложится в handles.dlina. Но недлит.
Чего-то хаос какой-то у вас тут, мне кажется.
1. handles.dlina - это значение длины из текстового поля, которое вы используете в расчете объема. Т. е. в строке 203 вы сперва перемножаете всё, а потом в 204й строке рассчитанный только что объем, делите обратно на длину, т. е. возвращает он вам площадь одной стороны. Дальнейшее, разумеется, не имеет уже смысла.
2. Чтение данных из поля графического попахивает шаманством. При чтении поля просто через "handles.имя_поля" вы получаете на выход бесовщину типа 'matlab.ui.control.UIControl', которая содержит огромное количество данных разных типов, включая само значение в поле String, которое имеет тип 'char'. А значит у вас там каким-либо другим образом настроен иной доступ к данным.
Получение данных из поля ввода при нажатии кнопки на самом деле выглядит вот так:
       length=str2num(handles.length_field.String);
А ещё лучше вот так:
       length=str2num(get(handles.length_field, 'String'));
Тут мы обращаемся к handles, читаем из него конкретное свойство String типа 'char', которое введено в поле и сразу преобразуем его в 'double' чтобы что-нибудь считать.
А потом по использованному вами же методу set() возвращаем данные в другое поле.

3.* Не терзайте галочки с юнитами и материалами - сделайте popup-menu с указанием всех допустимых вариантов и получая состояние списка через "handles.тэг_списка. Value" и case-ами пересчитывайте единицы при чтении из полей длина/ширина/высота. Так проще писать обращение и дополнять другими материалами и единицами - обращение к одному и тому же компоненту формы один раз, вместо перебора всех элементов.
Олег Травников
Олег Травников
85 402
Лучший ответ
Андрей Муфталиев Спасибо, но я уже разобрался. Забыл точку поставить, из-за этого не видел команду. Спасибо за совет учту в дальнейшем
Тестовые данные в студию

PS: логические ошибки не учитывать? например масса тела = плотность * объем
MK
Marat Kasym
50 450
Андрей Муфталиев не я это исправил. но всёровно не видит