hi guys, new to matlab and came across a simple problem that takes me forever to get over. please help.
if rgb(1)==1
if rgb(2)==1
if rgb(3)==1
color='white';
else
color='yellow';
end
else
if rgb(3)==1
color='magenta';
else
color='red';
end
end
else
if rgb(1)==1
if rgb(3)==1
color='cyan';
else
color='green';
end
else
if rgb(3)==1
color='blue';
else
color='invalid input';
end
end
end
so its pretty much just mix three primary colors as input and output the mixed color.. i have a hard time going through this and i don't know where i did wrong.. thanks for answering. oh and here's the error:
Attempted to access rgb(3); index out of bounds because numel(rgb)=1.
Error in rgb_color (line 26) if rgb(3)==1

 채택된 답변

Ilham Hardy
Ilham Hardy 2015년 10월 30일
편집: Ilham Hardy 2015년 10월 30일

0 개 추천

What is your rgb value?
The error message is very clear. it stated that you tried to access the third index of rgb, whilst rgb only contains one value ( numel(rgb)=1).
Btw, you can also use logical operator instead of nested if-else statement

댓글 수: 5

Ilham Hardy
Ilham Hardy 2015년 10월 30일
What I meant is what do you get when you type
rgb
in your command window?
Are you sure that your rgb contains three elements? 1x3 matrix?
Stephen23
Stephen23 2015년 10월 30일
@dingi duan: Ilham Hardy asked you a very simple but important question, because the answer to that question will help us to tell you what is wrong with your code. Here is the question again:
what do you get when you type
rgb
in your command window? (and press enter)
dingyi duan
dingyi duan 2015년 10월 30일
it says" Undefined function or variable 'rgb'."....
Walter Roberson
Walter Roberson 2015년 10월 30일
How are you invoking your code? I can see your file is named rgb_color.m but how are you starting it running?
dingyi duan
dingyi duan 2015년 10월 30일
alright guys.. i just found out whats wrong: its my input.. this code is fine.. thanks all for helping.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2015년 10월 30일
편집: Stephen23 2015년 10월 30일

0 개 추천

If you want to look up colornames then use my FEX submission colornames:
It is very simple to use:
>> colornames('html',[0.4,0.1,0.6])
ans = 'Purple'
>> colornames('html',[0.8,0.9,0.3])
ans = 'Yellow'
>> colornames('html',[1,1,1])
ans = 'White'

댓글 수: 1

dingyi duan
dingyi duan 2015년 10월 30일
thx but sry i have to use nested if...

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

태그

질문:

2015년 10월 30일

댓글:

2015년 10월 30일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by