Скажем, у меня есть массив объектов 1x2 класса дескриптора с помощью метода SetProperty. Могу ли я использовать arrayfun для вызова метода SetProperty для каждого класса вместе с вектором для его использования для установки значения свойства?Matlab Arrayfun с ручкой Класс
ответ
Да, вы можете:
arrayfun(@(x,y)x.SetProperty(y), yourHandleObjects, theValues)
Вы можете также спроектировать класс, так что вызов SetProperty
будет векторизации:
class Foo < handle
methods(Access=public)
function SetProperty(this,val)
assert(numel(this)==numel(val));
for i=1:numel(this)
this(i).prop = val(i);
end
end
end
end
Затем вы можете создать вектор и вызвать метод на нем непосредственно:
f = repmat(Foo(),[1 2]);
f.SetProperty([5 3]);
Я тоже это использовал. Однако я больше мотивирован использовать arrayfun, потому что я могу контролировать, что передается функции. Это было проблемой, когда у меня было множество вложенных классов, и я никогда не знал, будет ли я сам ссылаться на класс, который мне нужен, или на его суперкласс, от которого я и вызвал метод. – krapht
@AndrewAshworth, что вы говорите, звучит интересно. Можете ли вы привести пример? (Для моих собственных целей обучения) –
- 1. Matlab: Arrayfun с выпускаемыми
- 2. Проблемы с Arrayfun в matlab
- 3. Matlab GPU arrayfun общего переменной
- 4. Как применять векторы Cellfun с Arrayfun, Matlab?
- 5. Matlab arrayfun сопоставление с использованием двух массивов?
- 6. Объект с ручкой 0 в Matlab
- 7. Операции с функцией ручкой в MATLAB
- 8. Ошибка с arrayfun
- 9. один пример о arrayfun в matlab
- 10. Matlab - Проблема с оценкой анонимной функции с использованием arrayfun
- 11. Проблемы с конкатенацией в Arrayfun с обработкой GPU. MATLAB
- 12. Arrayfun в Python?
- 13. Speed up arrayfun
- 14. Странная ошибка с arrayfun
- 15. Правильное использование arrayfun/bsxfun в Matlab - простой пример
- 16. Matlab: arrayfun, cellfun, spfun и structfun против простой для цикла
- 17. arrayfun, когда каждая строка массива является входным
- 18. Может кто-нибудь, пожалуйста, дайте мне пример arrayfun в matlab
- 19. Использовать, если предложение в arrayfun в Octave/Matlab
- 20. Проблема с ручкой при рисовании
- 21. Остановка SocketServer с блокирующей ручкой
- 22. jQuery div вращение с ручкой
- 23. Удаление файла с открытой ручкой
- 24. Interact.js - шаг IFrame с ручкой
- 25. Анимированный QGraphicsItem с пунктирной ручкой
- 26. Как справиться с ручкой свиньи?
- 27. arrayfun Входной сигнал 2d
- 28. Передача функции в arrayfun
- 29. MVP с задачей длительной работы с ручкой
- 30. Синтаксис и использование Arrayfun с использованием метода класса
Спасибо! Это прямолинейно, я понятия не имею, почему у меня так много проблем с синтаксисом. – krapht