# Index in position 1 exceeds array bounds (must not exceed 1).

24 views (last 30 days)

Show older comments

Hello,

I have the Brownian motion model and I added In the plot a circle with radus R and center (X,Y). However I have two for loops for x and y to calcualte the model and I want to delete some points if they staisfies this condition:

(x(i)-X)^2 +(y(i)-Y)^2<r^2

When I run the code always gave this massage (Index in position 1 exceeds array bounds (must not exceed 1).) Sometimes is change the number such as ( ndex in position 20 exceeds array bounds (must not exceed 29).)

How I let inside the circle empty.

That what I wrote

please anyone help me for my problem with explain how I can solve this problems if I have simoilar in the future.

T=100;

Np=10000;

DX=20;

%Circle --------------------

A=10;

B=10;

R=30;

th=0:pi/100:2*pi;

X=R*cos(th)+A;

Y=R*sin(th)+B;

%Models

for j=1:m

for i=1:T

x(i+1,j)=x(i,j)+DX*randn();

y(i+1,j)=y(i,j)+DX*randn();

% Condition--------

COND= (x(i+1,j)-X).^2+(y(i+1,j)-Y).^2;

CONDD=int16(trap);

if trap <r^2

x(i+1,j)=[];

y(i+1,j)=[];

end

end

end

### Accepted Answer

infinity
on 7 Jul 2019

Hello,

There are several approaches that you can try to eleminate the point inside the circle. Here, I can show you a solution

T=100;

m=10;

A=10;

B=10;

R=30;

th=0:pi/100:2*pi;

X=R*cos(th)+A;

Y=R*sin(th)+B;

x = zeros(1,m);

y = zeros(1,m);

DX=20;

for j=1:m %Number of particle

for i=1:T %Number of steps

xnext = x(i,j)+DX*randn();

ynext = y(i,j)+DX*randn();

cond = norm([xnext-A,ynext-B]);

while (cond < R)

xnext = x(i,j)+DX*randn();

ynext = y(i,j)+DX*randn();

cond = norm([xnext-A,ynext-B]);

end

x(i+1,j)=xnext;

y(i+1,j)=ynext;

end

end

plot(x(2:end,:),y(2:end,:),'k.');

hold on;

plot(X,Y,'r');

title (['Time = ', num2str(T),', Particles = ', num2str(m)]);

xlabel("space x");

ylabel("space y");

hold off;

Now, you will get rid of the previous error.

### More Answers (1)

Walter Roberson
on 7 Jul 2019

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!