我已经仔细查看了各种资料,试图找到一种在Python中创建类似于Matlab结构体数组的方法。我查看了一些网上的问题,但是它们提供的答案要么不太有用,要么可能只是我误解了它们与我的相关性。所以,接下来我将尝试形成一个Python版本的以下Matlab代码的等价物。
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时的误解。如果这不是提问的正确位置或类似的问题,我很抱歉。谢谢。