【发布时间】:2017-05-02 15:47:01
【问题描述】:
你好,我应该在 python 中翻译以下 matlab 代码,它使用动态单元格数组:
NUM=zeros(size(CELLin)); NUM=NUM(:);
jALL=cell(0,0);
r=0;
for k=1:size(CELLin,1)
r=r+1; NUM(r)=(numel(CELLin{k,1})-1)/2; % Ak NoptN
jALL{r,1}=[k 1];
r=r+1; NUM(r)=(numel(CELLin{k,2})-1)/2; % Ak NoptP
jALL{r,1}=[k 2];
end
提前感谢您的支持。
【问题讨论】:
-
您能否提供一个示例
CELLin(以及任何其他未定义的变量),以便我至少可以在 Octave 会话中运行您的代码。如果不清楚代码的作用,就很难翻译。 (注意,人们会抱怨这不是代码翻译服务) -
好的,CELLin 是一个有四个条目(列)的元胞数组,对于每个条目,我们有一个数字向量,必须动态增加的是 jALL 元胞数组的行数,CELLin 是通过输入传递。现在我需要了解如何在 python 中创建一个动态单元格数组,以便对其他用户也有用。
-
Python 中最接近单元格的是列表。
-
从技术上讲,您不能在 MATLAB 中动态更改矩阵或元胞数组的大小。 MATLAB 在幕后进行缓慢而昂贵的复制,这就是为什么 MATLAB 编辑器会在注意到您这样做时警告您。
标签: python matlab numpy cell-array