Asked by Sahin Kurekci
on 14 Sep 2019 at 12:35

I have the following grid in the beginning of my code:

a = 25, % This will be the radius of the circle

r = linspace(0,sqrt(2)*2*a,501);

phi = linspace(0,2*pi,501);

[R,Phi] = meshgrid(r,phi);

X = R.*cos(Phi);

Y = R.*sin(Phi);

And I plot all my figures by using the code segment:

figure()

h = pcolor(X,Y,abs(u_sum).^2); % u_sum is an electric field distribution

set(h,'EdgeColor','none');

box on

grid on

axis equal

xlim([-1,1]*r(end)/sqrt(2));

ylim([-1,1]*r(end)/sqrt(2));

colormap(hot);

colorbar;

xlabel('x');

ylabel('y');

title(['Title'])

hold on

rectangle('Position',[-1,-1,2,2]*a,'Curvature',1,...

'LineWidth',1,'EdgeColor','w','FaceColor','None',...

'LineStyle','--')

hold off

set(gca,'Layer','top')

The output of this code is:

Now, I want to draw a circle full of ones with radius "a" and place it on the same grid. Thus, I want the circle at the center of the above picture to be filled with ones, and zeros at rest. How can I do that using pcolor and the same grid?

Alternatively, how can I implement a Gaussian shape for the same grid using pcolor?

Answer by darova
on 14 Sep 2019 at 13:45

Accepted Answer

Z1 = R <= a^2; % place ones

Gauss shape

Place R isntead of x

Sahin Kurekci
on 14 Sep 2019 at 17:34

Thanks @darova. That solves my problem. However, I still couldn't fill a 2D Gaussian into that circle. I tried

Gaussian1 = exp(-(R^2)./2);

Gaussian2 = 10*exp(-(R^2)./(2*100));

figure()

h = pcolor(X,Y,Gaussian1);

h = pcolor(X,Y,Gaussian2);

but none of them resulted in a Gaussian shape as I desired. Do you have a suggestion for that?

darova
on 14 Sep 2019 at 17:43

Guess what

Sahin Kurekci
on 14 Sep 2019 at 17:57

Of course... That is a very naught square there. Thanks.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.