all loop values in one vector

3 views (last 30 days)
amr atyia
amr atyia on 17 Apr 2016
Edited: per isakson on 18 Apr 2016
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

Answers (1)

Walter Roberson
Walter Roberson on 18 Apr 2016
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;

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!