Как я могу сохранить свой массив в структуру Matlab в Python?

Я загрузил некоторую структуру (называемую sensor) в python из моего Matlab, выполнив это

from scipy.io import loadmat
pathToData="C:\Projects\"
fileName = "\sensor.mat"
pathToData = pathToData + fileName
matfile = loadmat(pathToData, squeeze_me=True, struct_as_record=False)
sensor = matfile['sensor']

Я могу правильно читать данные, но теперь я хотел бы записать в него некоторые результаты из python. В структуре уже есть поле gDist, но я не могу в них писать, почему так?

vmag_in = sensor.vmag_mv[0:sampleN]
vphs_in = sensor.vphs_mv[0:sampleN]
k = 0
for v_mag,v_phs in zip(vmag_in,vphs_in):
    gDist= functionA(v_mag, v_phs,sensor.content[k])

    sensor.gDist[k] = gDist # <-This seems not working?

    # Iterate counter
    k = k +1     

person ndarkness    schedule 15.08.2019    source источник
comment
Помогает ли эта ссылка?   -  person Cleb    schedule 15.08.2019
comment
Можно поподробнее, что значит не работает? У нас тоже не получается воспроизвести ошибку, как выглядит sensor? Что делает functionA и т. д. Пожалуйста, предоставьте более подробную информацию, иначе мы не сможем помочь.   -  person Cleb    schedule 15.08.2019
comment
Я могу загрузить простой struct, как и вы, и изменить значения полей. Поэтому без дополнительной информации о вашей ошибке мы не сможем вам помочь.   -  person hpaulj    schedule 15.08.2019


Ответы (1)


Массив структур Matlab начинается с 1, затем для счетчика Iterate k = k +1 чаще всего находится в первой строке цикла for

person user3600100    schedule 19.08.2019