??? Improper assignment with rectangular empty matrix.
이전 댓글 표시
I'm doing my report. Matlab is used to solve the question. My code like this:
function y=STFT(x,seg,step);
[Lx chan]=size(x);
maxi=(Lx-seg)/step;
for i=1:maxi;
X=x(1+(i-1)*step:seg+(i-1));
Z= X*step;
f=fft(Z);
P=f.*conj(f);
y(:,i)=P;
end
However, it show error exist at "y(:,i)=P; ". May i know how to solve it?
Besides that, is that other formula can i replace "X=x(1+(i-1)*step:seg+(i-1));"?
Hope can get the answer by today as my code have to submit tomorrow.
Thank you.
답변 (1개)
David Young
2011년 12월 3일
I suspect your problem is that this line:
X=x(1+(i-1)*step:seg+(i-1));
should read
X=x(1+(i-1):step:seg+(i-1));
댓글 수: 4
Goh
2011년 12월 3일
David Young
2011년 12월 3일
If the size of X is computed incorrectly, that could cause an assignment error when you try to assign P to a column of y.
Goh
2011년 12월 3일
David Young
2011년 12월 5일
It depends what the code is intended to do. It's hard to fix code without having a specification for the computation - more details of what you are aiming at would help.
By the way, I see that in your comment you show your original line of code, not my correction. Is that because the correction does not work?
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!