我已经仔细研究过尝试找出一种在python中创建类似struct数组的matlab的方法.我在网上看到了一些问题,答案似乎没有帮助,或者我可能只是误解了它们,因为它们与我有关.所以,继续前进.我试图形成一个等效于以下matlab代码的python.
channel = [];
channel.PRN = 0;
channel.acquiredFreq = 0;
channel.codePhase = 0;
channel.status = '-';
channel = repmat(channel, 1, settings.numberOfChannels);
Run Code Online (Sandbox Code Playgroud)
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));
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几种方法,但是在使用numpy(我可能刚刚使用不正确)的tile的情况下或者当我尝试进行如下的循环时,它要么吐出废话:
class test:
for iii in range(1,settings.numberOfChannels):
iii.PRN=0
iii.acquiredFreq=0
iii.codePhase=0
iii.status="-"
Run Code Online (Sandbox Code Playgroud)
很可能我认为这是一个语法错误或我对python的误解,因为这是我第一次使用它.如果这是一个不正确的地方问这个或那种性质的东西,我道歉.
谢谢