write a Program to model random motion of electron

12 vues (au cours des 30 derniers jours)
ELUFISAN PAUL TOMILOLA
ELUFISAN PAUL TOMILOLA le 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);

Réponse acceptée

Peter O
Peter O le 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 commentaire
ELUFISAN PAUL TOMILOLA
ELUFISAN PAUL TOMILOLA le 16 Mar 2022
Thanks so much. Your answer was very helpful.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by