I am trying to convert a matlab code to python due to lack of matlab. I will be grateful if you kindly tell me the python equivalents of the following functions which I could not find:
letter2number_map('A') = 1;
number2letter_map(1) = 'A';
str2num()
strcmp()
trace()
eye()
getenv('STRING')
[MI_true, ~, ~] = function() What does ~ mean?
mslice
ones()
Thank you very much for your kind assistance.
I don't actually know matlab, but I can answer some of those (assuming you have numpy imported as np):
letter2number_map('A') = 1; -> equivalent to a dictionary: {'A':1}
number2letter_map(1) = 'A'; -> equivalent to a dictionary: {1:'A'}
str2num() -> maybe float(), although a look at the docs makes
it look more like eval -- Yuck.
(ast.literal_eval might be closest)
strcmp() -> I assume a simple string comparison works here.
e.g. strcmp(a,b) -> a == b
trace() -> np.trace() #sum of the diagonal
eye() -> np.eye() #identity matrix (all zeros, but 1's on diagonal)
getenv('STRING') -> os.environ['STRING'] (with os imported of course)
[MI_true, ~, ~] = function() -> Probably: MI_true,_,_ = function()
although the underscores could be any
variable name you wanted.
(Thanks Amro for providing this one)
mslice -> ??? (can't even find documentation for that one)
ones() -> np.ones() #matrix/array of all 1's