#python #matlab #scipy
#python #matlab #scipy
Вопрос:
Функция scipy savemat, похоже, всегда сжимает мои массивы (или, возможно, это делает matlab?) Пример:
import numpy as np
import scipy.io as spio
x = np.zeros((10,10,10,1))
print(x.shape)
spio.savemat("x.mat", {'x': x})
Вывод:
(10, 10, 10, 1)
Затем в matlab:
load('x.mat')
size(x)
Вывод:
ans =
10 10 10
Функция loadmat Scipy имеет squeeze_me
kwarg, а savemat — нет.
Комментарии:
1. Посмотрите на файл с
loadmat
I eee 4 измерениями. Может быть, это MATLAB удаляет последнее измерение. Хотя это конечная внутренняяnumpy
часть, это самая внешняя часть MATLAB. Можете ли вы добавить это дополнительное измерение в MATLAB?2. Хороший звонок, @hpaulj, я не подумал о том, чтобы загрузить его обратно в scipy. Тогда, я думаю, это matlab. Функция load () не имеет аргумента сжатия, который я вижу. Я не могу добавить дополнительное измерение в matlab, потому что я регулярно передаю данные коллеге и не хочу, чтобы им приходилось делать это вручную.