Я пытаюсь numpy, портируя некоторый код, который я написал в matlab/октаве. В Matlab я могу определить эквивалент кусочка python, а затем увеличивать его по мере необходимости. Например, в моем MatLab коде естьМожете ли вы увеличить фрагмент в python?
HXx_range = 1:NHXx;
HXy_range = 1:NHXy;
blah blah blah
Hx(HXx_range, HXy_range) = Da(Hx_media(HXx_range, HXy_range)).*Hx(HXx_range, HXy_range) + Db(Hx_media(HXx_range, HXy_range)).*(Ez(HXx_range,HXy_range) - Ez(HXx_range,**HXy_range+1**));
Hy(HYx_range, HYy_range) = Da(Hy_media(HYx_range, HYy_range)).*Hy(HYx_range, HYy_range) + Db(Hy_media(HYx_range, HYy_range)).*(Ez(**HYx_range+1**,HYy_range) - Ez(HYx_range,HYy_range));
Ez(EZx_range, EZy_range) = Ca(Ez_media(EZx_range, EZy_range)).*Ez(EZx_range, EZy_range) + Cb(Ez_media(EZx_range, EZy_range)).*(Hy(EZx_range,EZy_range) - Hy(**EZx_range-1**,EZy_range) + Hx(EZx_range,**EZy_range-1**) - Hx(EZx_range,EZy_range));
Термины в '**' s (например, 'HXy_range + 1') являются они ключевые части; HXy_range + 1 равно 2: (NHXy + 1). В Python, я могу определить кусочек подобным образом:
HXx_range = slice(0, NHXx)
Однако HXx_range + 1 дает мне ошибку. Конечно, я могу просто сделать для этого новый кусочек, но это не так чисто. Есть ли способ обойти это?
Спасибо.
Что такое ожидаемое поведение увеличивающегося среза? Увеличиваете ли вы начало? Конец? И то и другое? – robert
Ожидаемое поведение будет таким же, как и в коде matlab: приращение обоих - эффективное смещение среза на заданную величину. – lnmaurer