Когда я запускаю функцию, я не получаю все переменные из рабочего пространства. Когда я устанавливаю точки останова, чем только я могу получить переменные в рабочей области. Таким образом, как получить переменные в рабочей области без установки точки останова?Получение переменной из рабочего пространства из функции
ответ
Вы можете использовать
assignin('base','variablename',value);
писать переменные из вашей функции-Workspace для вашей базовой рабочей области.
Когда вы используете контрольные точки, вы можете увидеть Рабочее пространство функции или скрипта, на котором остановилось выполнение. Вы также можете выбрать в своем редакторе ту Рабочую область (стек), которую вы хотите увидеть в режиме отладки.
Если вы хотите, чтобы написать всю функцию-Workspace в вашу базовую рабочую область (которая в смысле инкапсуляции не рекомендуется), вы можете использовать
vars=whos;
for k=1:length(vars)
assignin('base', vars(k).name, eval(vars(k).name));
end
Хотя assignin
трюка удобно в определенных ситуациях, один должны как правило, не имеют привычки к неявным образом «пуфинг» переменных в пространствах имен. Более очевидным первым подходом должно быть specify outputs to your function, что является основным синтаксисом MATLAB.
Если у вас есть небольшое количество выходов, вы можете указать их отдельно. Например:
function [c, d] = trialcode(a, b)
% Simple summation
c = a + b;
% Simple product
d = a * b;
end
Если у вас есть много выходов, когда подход является сохранение желаемых результатов в structure или cell array, так что вы выводя одну переменную, вместо того, чтобы указать каждый выход. Тонкая настройка приведенного выше примера:
function [output] = trialcode(a, b)
% Simple summation
output.c = a + b;
% Simple product
output.d = a * b;
end
- 1. Защита переменной рабочего пространства
- 2. Запуск приложения из рабочего пространства
- 3. Проект исчезает из рабочего пространства
- 4. Создайте переменные рабочего пространства из таблицы
- 5. Ввод переменных из рабочего пространства функции в базовое рабочее пространство
- 6. Отображение переменной рабочего пространства MATLAB в функции GUI
- 7. Получение переменной из имени столбца, переданного функции
- 8. Получение значения переменной из функции AJAX внешним
- 9. Получение переменной из вложенной функции в Javascript
- 10. Получение значения переменной из другой функции
- 11. Получение переменной из вложенной функции в Node.js
- 12. Получение переменной из параметра
- 13. SBT Resolve Локально из рабочего пространства
- 14. Скопировать файлы из удаленного рабочего пространства Jenkins
- 15. Папка Eclipse .metadata из рабочего пространства
- 16. Импорт проекта из рабочего пространства в eclipse
- 17. Передача данных из рабочего пространства в функцию
- 18. make tomcat взять проект из рабочего пространства
- 19. копировать файл из рабочего пространства восходящей сборки.
- 20. Неоднородные данные из рабочего пространства в Simulink
- 21. Egit удалил мой проект из рабочего пространства
- 22. Удалить полки из местного рабочего пространства
- 23. Как импортировать проекты из другого рабочего пространства?
- 24. Удалить ссылку базы данных из рабочего пространства
- 25. Получение классов из пространства имен
- 26. Получение переменной из другого пространства имен не работает
- 27. Необходимая команда для получения файла из TFS без рабочего пространства
- 28. Получение переменной из QuerySet
- 29. получение переменной из конструктора
- 30. Получение переменной из Url