SetProperty 메서드가있는 핸들 클래스의 1x2 객체 배열이 있다고 가정 해 보겠습니다. arrayfun을 사용하여 각 클래스에 대해 SetProperty 메서드를 호출하고 속성 값을 설정하는 데 사용할 벡터를 사용할 수 있습니까?핸들 클래스가있는 Matlab Arrayfoon
3
A
답변
1
예, 할 수 있습니다
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
을 그럼 당신은 벡터를 만들 수 있으며, 메소드를 호출
arrayfun(@(x,y)x.SetProperty(y), yourHandleObjects, theValues)
3
또한 SetProperty
에 대한 호출이 벡터화 될 수 있도록 클래스를 디자인 할 수 있습니다 그것에 직접 :
f = repmat(Foo(),[1 2]);
f.SetProperty([5 3]);
+0
나는 이것을 전에도 사용 해왔다. 이제 arrayfun을 사용하는 것이 더 많은 동기가되었지만, 함수에 전달되는 것을 제어 할 수 있기 때문에. 이것은 많은 중첩 클래스가있을 때 문제 였고, 자기가 원하는 클래스 나 그 슈퍼 클래스를 참조 할 것인지를 결코 알지 못했습니다. – krapht
+0
@AndrewAshworth 당신이 말하는 것은 흥미로운 것 같습니다. 예를 들어 줄 수 있습니까? (내 자신의 교육 목적을 위해) –
관련 문제
- 1. MATLAB : 병합 함수 핸들
- 2. MATLAB 가이드의 핸들
- 3. Matlab GUI, 핸들 객체가 필요합니다.
- 4. MATLAB NLFILTER와 함께 사용할 익명 함수 핸들
- 5. Matlab 함수 핸들 작업 공간 shenanigans
- 6. 개별 행렬/행/요소에 대한 핸들 - Matlab
- 7. 메서드 이름 만 사용하여 MATLAB 클래스 메서드 핸들 해석
- 8. Matlab GUI : 변수를 사용하여 기존 객체 핸들 참조하기
- 9. 창 핸들 핸들 (c)
- 10. matlab에 - 핸들 클래스
- 11. jQuery resizable 핸들 핸들 위치
- 12. 컨트롤 핸들
- 13. 핸들 호출은
- 14. 핸들 클릭은
- 15. 핸들 예외
- 16. DISPID_ONVISIBLE 핸들
- 17. 장치 핸들
- 18. 핸들 C#
- 19. xpath는 클래스가있는 요소를 제외합니다
- 20. 가변 템플릿 클래스가있는 SFAAE?
- 21. C++ 클래스가있는 PyQt
- 22. 유형 클래스가있는 스칼라의 DAO
- 23. 일반 기본 클래스가있는 데코레이터
- 24. 클래스가있는 fooending istream 연산자
- 25. WallpaperService의 하위 클래스가있는 IPC
- 26. 파생 클래스가있는 push_back
- 27. CSS 클래스가있는 문자열의 크기
- 28. 정적 클래스가있는 어댑터 패턴
- 29. 여러 클래스가있는 XmlSerializer
- 30. 클래스가있는 양식 컨트롤이 비활성화되었습니다.
감사합니다! 이것은 간단합니다. 구문에 대해 왜 많은 어려움을 겪고 있는지 알 수 없습니다. – krapht