
Другие языки программирования и технологии
Матлаб 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-ами пересчитывайте единицы при чтении из полей длина/ширина/высота. Так проще писать обращение и дополнять другими материалами и единицами - обращение к одному и тому же компоненту формы один раз, вместо перебора всех элементов.
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-ами пересчитывайте единицы при чтении из полей длина/ширина/высота. Так проще писать обращение и дополнять другими материалами и единицами - обращение к одному и тому же компоненту формы один раз, вместо перебора всех элементов.
Андрей Муфталиев
Спасибо, но я уже разобрался. Забыл точку поставить, из-за этого не видел команду. Спасибо за совет учту в дальнейшем
Тестовые данные в студию
PS: логические ошибки не учитывать? например масса тела = плотность * объем
PS: логические ошибки не учитывать? например масса тела = плотность * объем
Андрей Муфталиев
не я это исправил. но всёровно не видит
Похожие вопросы
- Pascal. Модуль CRT. Как считать символ с экрана, зная его координаты?
- Почему в матлабе операции + - * и / производятся за одинаковое время?
- Матлаб
- Деление отрицательного числа. Ассемблер
- Как при считывании с файла даних, можно было бы вернуться на символ назад. тоесть один и тотже символ считать два раза
- Вопрос про бесконечность при делении. Мне кажеться это не верно, но я могу ошибаться. Помогите мне понять
- Символ "Забоя"
- Изображение символов компьютера
- Visual Basic. Как в переменной удалить определенные символы?
- Остаток от деления в паскале