write a Program to model random motion of electron

11 次查看(过去 30 天)
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);

采纳的回答

Peter O
Peter O 2022-3-15
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by