Simulink Enumeration
이전 댓글 표시
Hello,
I am trying to do a simple multiport switch. My control is a numeric value.
If 1 is selected, I want my output to be 'Red'. If 2, I want 'Yellow', ect.
I have tried creating a class object for Colors. (thinking this isn't helping)
classdef Colors
properties
R = 0;
G = 0;
B = 0;
end
methods
function c = Colors(r,g,b)
c.R = r; c.G = g; c.B = b;
end
end
enumeration
Red(1, 0, 0)
Orange(1, .5, 0)
Yellow(1, 1, 0)
Green(0, 1, 0)
Blue(0, 0, 1)
Indigo(.2, 0, .8)
Violet(1, 0, 1)
end
end
thus, when I type Colors.Red, I get Red as my output.I used the Enumerated Constant, of output Colors and value Colors.Red. I get error "Initialization commands cannot be evaluated."
Any help would be great, my end goal is to pass a value out of "Red","Yellow"..ect. If I do this as a char or enumerated state I don't care.
thanks.
답변 (2개)
Fangjun Jiang
2011년 10월 21일
0 개 추천
This video might be helpful. http://www.mathworks.com/support/2010b/matlab/7.11/demos/enumerations-in-r2010b.html
댓글 수: 2
B. J.
2011년 10월 21일
Fangjun Jiang
2011년 10월 21일
Should you use a=Colors.Orange? Then you can check a.R, a.G and a.B
Kaustubha Govind
2011년 10월 24일
0 개 추천
I don't think you can use this kind of enumerated class in Simulink. Simulink enumerated types need to inherit from Simulink.IntEnumType. See Defining Simulink Enumerations.
카테고리
도움말 센터 및 File Exchange에서 Sources에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!