MATLAB Answers

## How to make a rainbow in MatLab?

Asked by Juan Zegarra

### Juan Zegarra (view profile)

on 15 Apr 2019
Latest activity Commented on by Juan Zegarra

### Juan Zegarra (view profile)

on 15 Apr 2019
Accepted Answer by Akira Agata

### Akira Agata (view profile)

Hello can someone please help me work this out? My professor asked us to make a rainbow. This is what I have so far, using the trajectory problem that we've been working the whole semester. The point is to make each arc of different colors (roygbiv), . What I got is just one arc with multiple colors. Please help!!!
format compact
Xo=0;
Yo=0
t=0;
inch=.01;
X=0;
Y=0;
theta=45;
V=5;
g=-9.8
hold on
while X==0 | Y>0
X=Xo+V.*cosd(theta).*t;
Y=Yo+V.*sind(theta).*t+0.5.*g.*t.*t;
fprintf('t=%4.3f X=%4.2f Y=%4.3f\n',t,X,Y)
t=t+inch;
pause(0.1)
plot(X,Y,'*')
axis([0,3,0,1])
end
hold off

#### 0 Comments

Sign in to comment.

## 1 Answer

### Akira Agata (view profile)

Answer by Akira Agata

### Akira Agata (view profile)

on 15 Apr 2019
Accepted Answer

One possible way:
t = linspace(0,pi)';
x = cos(t);
y = sin(t);
color = jet(7);
figure
hold on
for kk = 1:7
plot((2+kk)*x,(2+kk)*y,'Color',color(kk,:),'LineWidth',20)
end
ylim([0 15])
Another possible solution:
[xGrid,yGrid] = meshgrid(-10:0.1:10,0:0.1:10);
zGrid = sqrt(xGrid.^2 + yGrid.^2);
figure
surf(xGrid,yGrid,zGrid,...
'EdgeColor', 'none',...
'FaceAlpha', 0.5)
colormap(jet)
set(gca,'CLim',[4 11])
zlim([5 10])
view(2)
I hope you enjoy these codes ! :-)

Juan Zegarra

### Juan Zegarra (view profile)

on 15 Apr 2019
thank you so much!!

Sign in to comment.