Matlab: regexp - как использовать команду - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу иметь значение $ _ Wk_leer_Ixx , но чтобы получить значение, я должен сделать короткий расчет.

Мой код (неверно):

content = fileread( 'Wk.subvars' ) ;
match = regexp( content, '(?<=\$_Wk_leer_m,\s+str\s*=\s*''\s*)[^\s'']+', 'match' ) ;
Wk1_leer_m = str2double( match ) ;
match = regexp( content, '(?<=\$_Wk_leer_Ixx,\s+str\s*=\s*''\s*)[^\s'']+', 'match' ) ;
Wk_leer_Ixx = str2double( match ) ;

Пропущены шаги:

  1. str = ' $G_Wk.$_Wk_leer_m * 2.2 ' ) -> Я должен вызвать имя переменной после $G_Wk. -> $_Wk_leer_m
  2. и число после * знак ..... -> 2.2

после этого я могу сделать расчет. (значение Wk_leer_m у меня есть)

Ввод:

!file.version=1.3! 
! Wagenkas

subvargroup.begin ($G_Wk)   
  subvar(      $_Wk_leer_m,                                     str = ' 15601 ' )               ! [kg] Wagenkasten leer  
  subvar(      $_Wk_leer_CoG_x,                                 str = ' 0.019 ' ) 
  subvar(      $_Wk_leer_CoG_y,                                 str = '-0.007 ' ) 
  subvar(      $_Wk_leer_CoG_z,                                 str = ' 1.644 ' ) 
  subvar(      $_Wk_leer_Ixx,                                   str = ' $G_Wk.$_Wk_leer_m * 111 ' )
  subvar(      $_Wk_leer_Iyy,                                   str = ' $G_Wk.$_Wk_leer_m * 222  ' )
  subvar(      $_Wk_leer_Izz,                                   str = ' $G_Wk.$_Wk_leer_m * 333  ' ) 
  subvar(      $_Wk_betrieblich_m,                              str = ' 27660 ' )               ! [kg] Wagenkasten betrieblich
  subvar(      $_Wk_betrieblich_CoG_x,                          str = ' 0.0107' ) 
  subvar(      $_Wk_betrieblich_CoG_y,                          str = '-0.0039 ' ) 
  subvar(      $_Wk_betrieblich_CoG_z,                          str = ' 1.7608 ' ) 
  subvar(      $_Wk_betrieblich_Ixx,                            str = ' $G_Wk.$_Wk_betrieblich_m * 444 ' )
  subvar(      $_Wk_betrieblich_Iyy,                            str = ' $G_Wk.$_Wk_betrieblich_m * 555  ' )
  subvar(      $_Wk_betrieblich_Izz,                            str = ' $G_Wk.$_Wk_betrieblich_m * 666 ' )     
  subvar(      $_Wk_voll_m,                                     str = ' 33690 ' )               ! [kg] Wagenkasten voll beladen  
  subvar(      $_Wk_voll_CoG_x,                                 str = ' 0.0088 ' ) 
  subvar(      $_Wk_voll_CoG_y,                                 str = '-0.0032 ' ) 
  subvar(      $_Wk_voll_CoG_z,                                 str = ' 1.788 ' ) 
  subvar(      $_Wk_voll_Ixx,                                   str = ' $G_Wk.$_Wk_voll_m * 777 ' )
  subvar(      $_Wk_voll_Iyy,                                   str = ' $G_Wk.$_Wk_voll_m * 888  ' )
  subvar(      $_Wk_voll_Izz,                                   str = ' $G_Wk.$_Wk_voll_m * 999  ' ) 
subvargroup.end   ($G_Wk)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...