How to convert python code to matlab

import random
from operator import itemgetter
POWER_PER_MOVE_UNIT = 0.2
LOCALIZATION_COST = 0.3
def generate_nodes(nr_of_nodes):
return [{'nr': i, 'power': random.uniform(0, 25)} for i in range(nr_of_nodes)]
def generate_distances(nodes):
return [random.randint(1, 10) for _ in range(0, len(nodes) - 1)]
nodes = generate_nodes(10)
Nd = generate_distances(nodes)
print("NODES", nodes)
print("Distances", Nd)
def get_power(previous_power):
return previous_power - random.uniform(0.1, 1)
def explore(mcr, nodes):
vNodes = []
v = []
C = 0
power = mcr
for i, node in enumerate(nodes):
power = get_power(power)
hp = mcr - power
v, C, l = charge(vNodes, power - hp)
power = power - C - hp
if can_visit_more_nodes(power, i):
vNodes.append(node)
else:
break
print("V NODES", vNodes)
print("POWER", power)
def charge(vNodes, power):
sNodes = sorted(vNodes, key=lambda k: k['power'])
v = []
v1 = []
C = 0
l = 0
for i, node in enumerate(sNodes[:-2]):
sPower = node['power']
tPower = sNodes[i+1]['power']
v1.append(node)
needed_power = LOCALIZATION_COST + (tPower - sPower) * (1 + len(v1))
if power > needed_power:
v = v1
C = C + needed_power
l = tPower
else:
return v, C, l
return v, C, l
def can_visit_more_nodes(power, i):
if power >= 2 * Nd[i] * POWER_PER_MOVE_UNIT:
return True
else:
return False
explore(500, nodes)

Réponses (1)

User18
User18 le 17 Jan 2018

0 votes

Can somebody help me get the exact code of this in matlab because i dont need to just call it from poython?

2 commentaires

Stephen23
Stephen23 le 17 Jan 2018
Modifié(e) : Stephen23 le 17 Jan 2018
@User18: you have accepted an answer, which tells everyone that your question has been resolved.
Or did it not resolve your question?
User18
User18 le 17 Jan 2018
Yes you're right,i thought it worked for me. But anyways i might need some help since im not so good at matlab.I have a deadline for this in school.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by