For loop in a for loop doesn't work
    3 views (last 30 days)
  
       Show older comments
    
So I'm playing with audio data and I have created a script which downsamples an audio file. Now I'm trying to write a script that tries to recompose the original audio copying the value of the data lost with the downsampling. This is my script
prompt = 'Specific matrix ';
matrix = input(prompt); %audio matrix 1 column
prompt = 'Specific frequency destination ';
freqdest = input(prompt);
prompt = 'Specific frequency signal ';
frq = input(prompt);
sstep = freqdest/frq;
X=ones(length(matrix)*sstep,1); %creating the new matrix
for n=1:length(matrix) % n counter matrix total
    for m=0:sstep-1
        X(n+m)=matrix(n);
    end
end
The inside for
for m=0:sstep-1
          X(n+m)=matrix(n);
end
Seems not working at all. The script creates correctly the matrix with the right dimension but copy all the value of "matrix" in "X" without launch the script for every value. Why? Has someone a solution? Thanks
0 Comments
Accepted Answer
More Answers (3)
  M
      
 on 4 Nov 2017
        You should be careful when manipulating matix.
M(i,j)
returns the value of the ith row and jth column of the matrix.
In your example you just give one argument to your matrices.
2 Comments
  Walter Roberson
      
      
 on 4 Nov 2017
				That is okay. The comments indicate that it is a vector with one column.
  Walter Roberson
      
      
 on 4 Nov 2017
                    X(n+m)=matrix(m);
perhaps? You were always copying the same value, matrix(n)
  Jan
      
      
 on 5 Nov 2017
        Use the debugger to find out, what's going on: Set a breakpoint inside the loop and step through the code line by line observing the values of the counters.
for n=1:length(matrix) % n counter matrix total
  for m=0:sstep-1
      X(n+m)=matrix(n);
  end
end
Note that e.g. x(2) is assigned by n=1 and m=1 and by n=2 and m=2. Perhaps you want:
X = repmat(matrix, 1, sstep)
or
X = repelem(matrix, 1, sstep)
or perhaps the same with matrix(:) or a transposition.
See Also
Categories
				Find more on Audio Processing Algorithm Design in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


