У меня есть MatLab операции над массивами в следующем:массив операций/нарезка в питона из MATLAB
[M,N]=size(I) ;
J = zeros(2*M,2*N) ;
J(1:2:end,1:2:end) = I ;
J(2:2:end-1,2:2:end-1) = 0.25*I(1:end-1,1:end-1) + 0.25*I(2:end,1:end-1) + 0.25*I(1:end-1,2:end) + 0.25*I(2:end,2:end) ;
J(2:2:end-1,1:2:end) = 0.5*I(1:end-1,:) + 0.5*I(2:end,:) ;
J(1:2:end,2:2:end-1) = 0.5*I(:,1:end-1) + 0.5*I(:,2:end) ;
Я пытаюсь переписать те же операции в питоне, и я придумал следующее:
J=numpy.zeros((2*M,2*N))
J[::2,::2] = I ;
J[2:-1:2,2:-1:2] = 0.25*I[1::-1,1::-1] + 0.25*I[2::,1::-1] + 0.25*I[1::-1,2::] + 0.25*I[2::,2::]
J[2:-1:2,1::2] = 0.5*I[1::-1,] + 0.5*I[2::,]
J[::2,2:-1:2] = 0.5*I[:,1::-1] + 0.5*I[:,2::]
однако код python дает мне разные результаты.
может ли кто-нибудь сказать мне, что не так?
Спасибо,
работал большой спасибо –
Рад, что смог помочь. Обычно я не обманывал кого-то об этом, но, поскольку вы, кажется, здесь, здесь, я укажу, что вы должны принимать ответы, которые работают на вас, чтобы люди не возвращались к вашему вопросу, чтобы дать ответ. – Vorticity