all loop values in one vector

what is the problem please ?
z=[];
for n=2:length(acc_norm)-1;
if abs(acc_norm(n,:))>max(abs(acc_norm(n-1,:)),abs(acc_norm(n+1,:)))
Sc='Speak';
elseif abs(acc_norm(n,:))<min(abs(acc_norm(n-1,:)),abs(acc_norm(n+1,:)))
Sc='Svalley';
else Sc='Sintmd';
end
z=[z;Sc];
end

답변 (1개)

Walter Roberson
Walter Roberson 2016년 4월 18일

0 개 추천

Remember that strings are not entities in themselves: strings are row vectors of characters. So Sc='Speak'; is setting Sc to a row vector of length 5, and Sc='Svalley' is a row vector of length 7. Your z=[z;Sc] is then attempting to put together row vectors of different lengths.
I suggest you use
z{end+1} = Sc;

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2016년 4월 17일

편집:

2016년 4월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by