1

有没有办法分开

`vector=[0345;0230;0540;2340]`

进入

`vec_1=[03;02;05;23]`

`vec_2=[45;30;40;40]`
4

2 回答 2

3

How about

vector=[0345;0230;0540;2340]; 
v1 = mod(vector,100)
(vector-v1)/100
于 2011-06-28T11:43:35.220 回答
2

我的解决方案:

v = [0345;0230;0540;2340];
vv = num2str(v,'%04d');    %# convert to strings, 4 digits, fill with zeros
v1 = str2num( vv(:,1:2) )  %# extract first two digits, convert back to number
v2 = str2num( vv(:,3:4) )  %# extract last two digits, convert back to number

结果:

v1 =
     3
     2
     5
    23
v2 =
    45
    30
    40
    40

当然,如果您希望将结果作为字符串的单元数组(保留任何前导零),请使用:

>> v1 = cellstr(num2str(v1,'%02d'))
v1 = 
    '03'
    '02'
    '05'
    '23'
于 2011-06-28T11:38:16.703 回答