# write a Program to model random motion of electron

5 views (last 30 days)
ELUFISAN PAUL TOMILOLA on 15 Mar 2022
I am having difficulty in writing a program to model random motion of electron. The main problem here is that I want to assign each particle a random location in x-y plane with the extent of the silicon. The extent is 200nm by 100nm.
clc
clear all
LR = 200e-9; %Length of region
BR = 100e-9; %Breadth of region
numParticles = 1000;% no of particles
numSteps = 1;
x = zeros(numParticles, numSteps);
y = zeros(numParticles, numSteps);
xx = 0:0.2e-9:200e-9;
yy = 0:0.1e-9:100e-9;
h = meshgrid(xx,yy);
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Peter O on 15 Mar 2022
You can use randi to place the 'electrons' at random points on the grid by picking the grid indexes at random. The distribution will be uniform and permit overlaps. If you need unique particle locations, you'll need to use randperm instead.
LR = 200e-9; %Length of region
BR = 100e-9; %Breadth of region
numParticles = 1000;% no of particles
numSteps = 1;
x = zeros(numParticles, numSteps);
y = zeros(numParticles, numSteps);
xx = 0:0.2e-9:200e-9;
yy = 0:0.1e-9:100e-9;
size_x = numel(xx);
size_y = numel(yy);
xindex_Particles = randi(size_x,[numParticles,1]);
yindex_Particles = randi(size_y,[numParticles,1]);
xy_Particles = [xx(xindex_Particles)', yy(yindex_Particles)'];
xy_Particles(1:5,:)
ans = 5×2
1.0e-06 * 0.0080 0.0845 0.0184 0.0847 0.0248 0.0197 0.1152 0.0781 0.0732 0.0055
##### 1 CommentShowHide None
ELUFISAN PAUL TOMILOLA on 16 Mar 2022
Thanks so much. Your answer was very helpful.

Sign in to comment.

### Categories

Find more on Programming in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!