matlab数组动态显示,Python,创建类似Matlab的动态单元数组

如果我定义CELLin = {[1,2],[1,2,3];[1,2,3],[1,2,3,4]}

用八度音阶运行你的代码

^{pr2}$

CELLin是一个nx2单元格,NUM给出了扁平布局(n*2行)中单元格元素的某种平均长度。jALL只是一个索引(可能是{})的索引。在

给定CELLin元素的可变长度,最简单的Python翻译使用列表,而不是numpy。列表还允许我在不预先分配的情况下累积结果。例如,MATLAB代码的首字母jALL为(0,0),但它会随着r赋值而增长。在# nested list; best equivalent to CELL

CELLin = [[[1,2],[1,2,3]],[[1,2,3],[1,2,3,4]]]

NUM = []

jALL = []

r = 0

for k, v in enumerate(CELLin): # iterate of 1st level

r += 1

NUM.append( (len(v[0])-1)/2.)

jALL.append([r,1])

r += 1

NUM.append( (len(v[1])-1)/2.)

jALL.append([r,2])

print(CELLin)

print(NUM)

print(jALL)

生产1033:~/mypy$ python stack43742171.py

[[[1, 2], [1, 2, 3]], [[1, 2, 3], [1, 2, 3, 4]]]

[0.5, 1.0, 1.0, 1.5]

[[1, 1], [2, 2], [3, 1], [4, 2]]

如果我加上CELLin = np.array(CELLin)

它变成一个对象数据类型数组(2d和list元素)array([[[1, 2], [1, 2, 3]],

[[1, 2, 3], [1, 2, 3, 4]]], dtype=object)

其余代码运行相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值