Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
GL
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 27

Передача данных из вложенной функции в другую в приложении GUI без среды guide

28.08.2014, 23:14. Показов 4374. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поясните, пожалуйста, как передать матрицу M из первой вложенной функции во вторую:
1. function Rout
2. function BtnSelectCallback(hObject, eventdata) % 1-я вложенная функция
здесь: [FileName,PathName,FilterIndex]= uigetfile('*.txt') ==> M=load([PathName,FileName])
3. end
4. function BtnDoCallbackt(hObject, eventdata) % 2-я вложенная функция
здесь: скрипт, где должна выполняться обработка матрицы M
5. end
6. end
Для этого, вроде бы, применимы setappdata и getappdata. Если это так, то какие должны быть аргументы
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.08.2014, 23:14
Ответы с готовыми решениями:

Передача аргументов в grPlot в приложении GUI без среды GUIDE
В одной из вложенных функций при попытке выполнить grPlot выдается ошибка: Undefined function 'grPlot' for input arguments of type...

Таблица uitable в GUI без GUIDE
Помогите, пожалуйста, с выводом таблицы!!! Создан шаблон таблица, в который должны вводиться статистические характеристики из массива...

GUI: прорисовка данных без функции plot
Добрый день! Я новичок. Вопрос: есть меняющиеся данные на входе (почти осциллограф) 64 канала, частота снятия до 20кГц. Пытаюсь сообразить...

1
 Аватар для tvoretsmira
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
29.08.2014, 02:19
Лучший ответ Сообщение было отмечено GL как решение

Решение

В одной функции вы записываете матрицу:
setappdata(gcf,'M',M)
В другой функции вы её считываете:
M = getappdata(gcf,'M')
Однако следует помнить, что setappdata записывает данные в значение свойства ApplicationData графического объекта, указатель которого получила. Если вы используете gcf (как написал я), то данные записываются в текущий объект figure. Если далее в программе текущим объектом станет другой объект figure. То в этом другом объекте figure ваших записанных данных не будет. И в функции getappdata вместо gcf вам прийдётся использовать указатель на исходный объект figure, а указатель тоже надо будет как-то передать в функцию. Кроме того, при закрытии окна объект figure, как и все данные которые вы в него записали будут удалены. Поэтому написать делайте так-то и 100% у вас получится я не могу не видя всего кода.

Есть и другие способы передачи данных:
1. Упомянуть переменную M в той функции в которую всё вложено (Rout)
2. Сделать переменную М глобальной (global)
3. Хранить переменную М в базовом рабочем пространстве (assignin('base', 'M', M) и evalin('base', M))
4. Хранить переменную М во внешнем файле (load и save)
5. Создать структуру handles с помощью guihandles и передать матрицу М как поле структуры handles
И так далее ...

Не по теме:

Когда пишите сообщение на форуме, есть такая кнопка (предпоследняя во втором ряду), на ней ещё написано MATLAB она вставляет надписи [MATLAB] и [\MATLAB ] в квадратных скобках в сообщение. Так вот если вставить код Матлаба между этих скобок. То этот код в сообщении будет раскрашен по правилам Матлаба

2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2014, 02:19
Помогаю со студенческими работами здесь

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

Авторизация в приложении без перехода на другую форму
Кто может помочь? Цель такая, есть форма, нужно сделать так, чтобы после ввода логина и пароля происходил вход в программу но не на...

Создание exe-файла из GUI (GUIDE) приложения
В архиве форума не нашел ответ на вопрос о принципиальной возможности решения этой задачи. Заранее благодарен мнению экспертов по данной...

Передача данных между окнами GUI
Здравствуйте, форумчане. Пишу диплом, сроки поджимают, и очень нужна ваша помощь. Итак, есть 2 окна, созданных в GUI. Пусть первое окно...

Передача параметров на другую страницу без JavaScript
Добрый день! Вопрос наверно стар как мир, но для моего случая я ответ так и не смог найти. В WEB-программировании я новичок. Суть в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru