我已经彻底环顾四周,试图找出一种在 python 中创建类似 struct 数组的 matlab 方法。我在网上查看了一些问题,答案似乎没有帮助,或者我可能只是误解了它们,因为它们与我有关。所以,继续前进。我正在尝试形成一个等效于以下 matlab 代码的 python。
channel = [];
channel.PRN = 0;
channel.acquiredFreq = 0;
channel.codePhase = 0;
channel.status = '-';
channel = repmat(channel, 1, settings.numberOfChannels);
repmat 基本上会创建一个名为 channel 的结构数组,其中的单元格数量等于 settings.numberOfChannels ,每个单元格都有 PRN、acquiredFreq 等。
稍后,我通过执行一个改变这些值的循环来访问这个结构:
for ii = 1:settings.numberOfChannels
channel(ii).PRN = PRNindexes(ii);
channel(ii).acquiredFreq = acqResults.carrFreq(PRNindexes(ii));
channel(ii).codePhase = acqResults.codePhase(PRNindexes(ii));
我尝试了几种方法,但它要么在使用 numpy 的瓷砖的情况下吐出废话(我可能只是使用不正确),要么当我尝试制作一个循环时,例如:
class test:
for iii in range(1,settings.numberOfChannels):
iii.PRN=0
iii.acquiredFreq=0
iii.codePhase=0
iii.status="-"
我很可能认为这是语法错误或我对 python 的误解,因为这是我第一次使用它。如果这是不正确的地方问这个或那个性质的东西,我很抱歉。
谢谢