Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The code I have so far is: import random import math from matplotlib import pyplot as plt def normpdf(x, mean, sd): var = float(sd)**2 denom

The code I have so far is:

import random

import math

from matplotlib import pyplot as plt

def normpdf(x, mean, sd):

var = float(sd)**2

denom = (2*math.pi*var)**.5

num = math.exp(-(float(x)-float(mean))**2/(2*var))

return num/denom

recovery_time = 4

virality = 0.2

mean = 30

stdev = 1

class Cell(object):

def __init__(self,x, y):

self.x = x

self.y = y

self.state = "S" # can be "S" (susceptible), "R" (resistant = dead), or

# "I" (infected)

def process(self, adjacent_cells):

if self.state == 'I':

self.days_infected += 1

if self.days_infected == recovery_time:

self.state == 'S'

random_float = random.random()

if random_float

self.state = 'R'

if self.state == 'I':

for cell in adjacent_cells:

if cell.state == 'S':

random_number = random.random()

if random_number

cell.infect()

else:

return

def infect(self):

self.state= 'I'

self.days_infected = 0

class Map(object):

def __init__(self):

self.height = 150

self.width = 150

self.cells = {}

def add_cell(self, cell):

self.cells[(cell.x,cell.y)]=cell

def display(self):

image = []

cells=self.cells

for n in range(150):

j=[]

image.append(j)

for i in range(150):

j.append ((0.0,0.0,0.0))

# for h in range(self.height):

# for w in range(self.width):

# try:

# self.cells[str(h),str(w)]

# except KeyError:

# continue

#

for i in cells:

yb=(0.0,1.0,0.0)

if cells[i].state == 'S':

yb=(0.0,1.0,0.0)

#image[int(cells[i].x)][int(cells[i].y)]= (0.0,1.0,0.0)

elif cells[i].state == 'I':

yb=(1.0,0.0,0.0)

image[int(cells[i].y)][int(cells[i].x)]= yb

print(image)

plt.imshow(image)

def adjacent_cells(self,x,y):

list_adj_cells=[]

try:

list_adj_cells.append(self.cells(x+1,y))

except KeyError:

pass

try:

list_adj_cells.append(self.cells(x,y+1))

except KeyError:

pass

try:

list_adj_cells.append(self.cells(x-1,y))

except KeyError:

pass

try:

list_adj_cells.append(self.cells(x,y-1))

except KeyError:

pass

return list_adj_cells

m = Map()

def time_step(self):

for h in range(self.height):

for w in range(self.width):

try:

self.cells[(h,w)].process(self.adgacent_cells(h,w))

except KeyError:

pass

self.display()

def read_map(filename):

import csv

with open(filename) as f:

reader = csv.reader(f)

for row in reader:

x_coordinate= (row[0])

y_coordinate = (row[1])

c= Cell(int(y_coordinate), int(x_coordinate))

c.state = 's'

m.add_cell(c)

return m

j=read_map("nyc_map.csv")

j.display()

However, its giving me an error. The assignment is outlined in the picture. Help? Would really appreciate it if someone could fix the code for me pls! Thanks!

image text in transcribed

Edited question: The nyc_map.csv file is linked below (I couldn't upload the excel sheet to Chegg, so please follow the link and dowload the file, convert to .csv after download). Sorry for the inconvenience! Please let me know if there are any difficulties opening it.

https://docs.google.com/spreadsheets/d/1SRmpmuBu8UOqPyhkC1_iHFoTsMxSiSnuibHoPnrsjJc/edit?usp=sharing

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_2

Step: 3

blur-text-image_3

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

Making Databases Work The Pragmatic Wisdom Of Michael Stonebraker

Authors: Michael L. Brodie

1st Edition

1947487167, 978-1947487161

Students also viewed these Databases questions

Question

What were the issues and solutions proposed by each team?

Answered: 1 week ago