2016-12-09 2 views
0

У меня есть код python и вы хотите написать один и тот же Octave, но есть некоторые команды, которые я никогда не нашел в октаве. Одна часть кода, который я не понимаю, эта функция:startswith от python до октавы

def CVangles(theta, geo, key): 

""" 
Parameters 
    ---------- 
    theta : float 
     The crank angle, between 0 and 2*pi 
    geo : struct 
     The structure with the geometry obtained from get_geo() 
    key : string 
     The name of the involute to be considered 

    """ 

    CV = struct() 
    CV.Outer = struct() 
    CV.Inner = struct() 
    if key.startswith('c1.'): 
     alpha = int(key.split('.')[1]) 
     CV.Outer.involute = INVOLUTE_FI 
     CV.Outer.phi_0 = geo.phi_fi0  
    return CV 

как я могу выразить в октава в StartsWith и разделить

ответ

2

Вы можете использовать strncmp сравнить первые 3 символа key с 'c1.'

if strncmp(key, 'c1.', 3) 

Кроме того, вы можете использовать strsplit вместо split, чтобы разбить строку на части в '.' символов.

alpha = strsplit(key, '.'){2}; 
+0

Спасибо Suever у меня есть бесконечные вопросы :), ваша помощь порадовала меня, и это было полезно .... могу я теперь задать следующий вопрос :) http://stackoverflow.com/questions/41158385/convertting-translate-from-python-to-octave-or-matlab – Eyad

+0

все сделано ... не могли бы вы посмотреть мой следующий вопрос в lenk выше? – Eyad