分裂细胞2列

23日视图(30天)
Dion图尼森
Dion图尼森 2021年7月30日
回答: 彼得·珀金斯 2021年7月30日
我有一个422年x1细胞包含字符串如下
0
0
[35.1600000000000,35.1600000000000]
0
0
35.1600000000000
0
0
[35.8200000000000,35.8200000000000]
0
0
35.8200000000000
0
[36.6600000000000,36.6600000000000]
我这个细胞分裂,这样我怎么能得到两种不同的细胞。1是第一个值,第二个是0除非有两个值的字符串。

接受的答案

莫妮卡Jaskolka
莫妮卡Jaskolka 2021年7月30日
编辑:莫妮卡Jaskolka 2021年7月30日
= {0 0 [35.1600000000000,35.1600000000000],0,0,35.1600000000000,
0 0 [35.8200000000000,35.8200000000000],0,0,35.8200000000000,0,[36.6600000000000,36.6600000000000]};
B = 0(大小(A, 2), 2);
i = 1:长度(A)
我(1)={我}(1);
如果大小({},2)> 1
我(2)={我}(2);
结束
结束
B = 14×2
0 0 0 0 35.1600 35.1600 0 0 0 0 0 0 0 0 0 35.1600 35.8200 - 35.8200 0 0

答案(1)

彼得·珀金斯
彼得·珀金斯 2021年7月30日
使用cellfun,两种可能:
函数(val1, val2) = myfun1 (x)
val1 = x (1);
如果isscalar (x)
val2 = 0;
其他的
val2 = x (2);
结束
结束
> > C0 = {1;2:3;4:5;6}
> > (C1, C2) = cellfun (@myfun1 C0,“UniformOutput”假)
> > C12 = (C1, C2)
C12 =
4×2细胞数组
{[1]}{[0]}
{[2]}{[3]}
{[4]}{[5]}
{[6]}{[0]}
函数cellRowOut = myfun2 (x)
如果isscalar (x)
cellRowOut = {x};
其他的
cellRowOut = {x (1) (2)};
结束
结束
> > C12 = cellfun (@myfun2 C0,“UniformOutput”假)
C12 =
4×1细胞数组
{1×2细胞}
{1×2细胞}
{1×2细胞}
{1×2细胞}
> > C12 = vertcat (C12 {:})
C12 =
4×2细胞数组
{[1]}{[0]}
{[2]}{[3]}
{[4]}{[5]}
{[6]}{[0]}

类别

找到更多的在字符和字符串帮助中心文件交换

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!