Convert matlab zeros function to Python equivalent
조회 수: 15 (최근 30일)
이전 댓글 표시
Hi Could you pleas elet me know what would be a similar conversion of matlab zeros to np.zeros for datatype. I am getting an error while doing this.
Matlab code:
Shifts = zeros(length(Filters)-1,1,'int16');
Python code:
Shifts = np.zeros(len(Filters)-1,1,dtype = np.int16)
댓글 수: 6
Murugan C
2019년 5월 29일
What is size of the Filters. If lenght of "Filters" is empty or zeros, then only you will get negative dimensitons.
>>> import numpy
>>> Filters = [ ]
>>> Shifts = numpy.zeros(len(Filters)-1,dtype = numpy.int16)
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
Shifts = numpy.zeros(len(Filters)-1,dtype = numpy.int16)
ValueError: negative dimensions are not allowed
>>>
%%
>>> Filters = [5, 6, 4, 5,6]
>>> Shifts = numpy.zeros(len(Filters)-1,dtype = numpy.int16)
>>> Shifts
array([0, 0, 0, 0], dtype=int16)
채택된 답변
Stephen23
2019년 5월 29일
편집: Stephen23
2019년 5월 29일
You need to read the numpy zeros documentation, because your syntax does not actually match its specification:
import numpy as np
Filters = [1,2,3];
Shifts = np.zeros((len(Filters)-1,1),dtype=np.int16)
% ^ ^ The shape needs to be ONE iterable!
Most likely you do not need a 2D numpy array, and a simple 1D array would suffice:
Shifts = np.zeros(len(Filters)-1,dtype=np.int16)
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!