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)

回答 (1 件)

User18
User18 2018 年 1 月 17 日

0 投票

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

2 件のコメント

Stephen23
Stephen23 2018 年 1 月 17 日
編集済み: Stephen23 2018 年 1 月 17 日
@User18: you have accepted an answer, which tells everyone that your question has been resolved.
Or did it not resolve your question?
User18
User18 2018 年 1 月 17 日
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.

サインインしてコメントする。

カテゴリ

質問済み:

2018 年 1 月 17 日

編集済み:

2018 年 1 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by