Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need this in c programming the assignment is given and also code is given you just have to code the lines where it says

I need this in c programming

the assignment is given and also code is given you just have to

code the lines where it says TODO here

please edit the code that I have given and please send me a screenshot of the output as well

It's a single assignment so please do answer both partsimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

Exercise 1. (50 points) Diffusion In this exercise, we use a 3D random walk to simulate a diffusion process. Imagine a particle starting at the origin (0,0,0) that has equal probabilities to go in 6 possible directions - left, right, backward, forward, down, and up. For example, when the particle is at (x, y, z), with equal probability 1/6, its next location is at (x 1, y, z), (x+1, y, z), (x,y 1, 2), (x, y +1, 2), (x, y, z 1) or (x,y,z +1). The particle will conduct the random walk for n steps. We are interested in the distribution of the final locations of particles after each takes n steps. Specifically, we would like to know the distribution of the distance between the final location and the origin. In order to obtain this distribution, we simulate m such particles, and check the proportion of the particles that lies within rn distance from the origin, where r is a real number between 0 and 1. Note all the particles will be within a sphere with radius n since particles only move n steps and the furthest they can go is a distance n from the origin. In our simulation, we will calculate the proportion of particles that are within rn from the origin for r = 0.05,0.10,0.15,...,0.90, 0.95, 1.00. Below is the main() function for this program. Note how we use command line arguments. int main(int argc, char *argv[]) if(argc != 3) printf("Usage: %s n m ", argv[0]); return 0; int n = atoi (argv[1]); int m = atoi(argv[2]); srand (12345); diffusion(n, m); return 0; We need to implement the function void diffusion(int n, int m) In this function, we need to dynamically allocate memory to represent a 3D grid where x, y, z coordinates range from -n to n. For all the possible x, y, z coordinates within the range, we save the number of particles that end up at the location (x, y, z). During the simulation, if the final location of a particle is (x, y, z), the corresponding value will be incremented by 1. Generate a random number using rand() % 6. If this number is 0 or 1, you should move left or right on the x-axis, respectively. If it is 2 or 3, you should move up or down on the y-axis, respectively. If it is 4 or 5, move up or down on the z-axis, respectively. In the implementation of main, we use the below function to print out results. void print_result(int *grid, int n) printf ("radius density "); for(int k = 1; k #include #include //TODO // Implement the below function //Simulate one particle moving n steps in random directions //Use a random number generator to decide which way to go at every step // When the particle stops at a final location, use the memory pointed to by grid to //record the number of particles that stop at this final location // Feel free to declare, implement and use other functions when needed void one_particle(int *grid, int n) int x=0, y=0, z=0, r, count=0; for (count = 0; count= 1 && n = 1 && m #include #include //TODO // Implement the below function //Simulate one particle moving n steps in random directions //Use a random number generator to decide which way to go at every step // When the particle stops at a final location, use the memory pointed to by grid to //record the number of particles that stop at this final location // Feel free to declare, implement and use other functions when needed void one_particle(int *grid, int n) int x=0, y=0, z=0, r, count=0; for (count = 0; count= 1 && n = 1 && m <><>

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Introduction To Data Mining

Authors: Pang Ning Tan, Michael Steinbach, Vipin Kumar

1st Edition

321321367, 978-0321321367

More Books

Students also viewed these Databases questions

Question

Understand the reasons for engaging consultants

Answered: 1 week ago