How do I add a column to an existing matrix?
    126 views (last 30 days)
  
       Show older comments
    
    lil brain
 on 19 Jan 2022
  
    
    
    
    
    Commented: Cris LaPierre
    
      
 on 19 Jan 2022
            Hi I have this code here:
[m,n] = size(windows);
H = zeros(n,1);
for i = 1:n
    r = windows(:,i);
    H(i) = dfaedit(r,1,1,1);
end
Richt now it creates a new variable H. However, every time I run this code, I would like it to add the resulting column to an existing variable H_all  so that it results in a matrix of columns.
Does that make sense? Help is much appreciated!
0 Comments
Accepted Answer
  Cris LaPierre
    
      
 on 19 Jan 2022
        Use [] to concatenate your result to your existing variable. You'll need to force your for loop to create a column vector instead of a row vector (change shown below).
Note that this assumes that H_all will always have the same number of rows as H.
[m,n] = size(windows);
H = zeros(n,1);
for i = 1:n
    r = windows(:,i);
    H(i,1) = dfaedit(r,1,1,1);
end
H_all = [H_all,H]
2 Comments
  Cris LaPierre
    
      
 on 19 Jan 2022
				Meaning you just want to add to H_all directly? Specify the column of H_all to add the new data to.
[m,n] = size(windows);
c = size(H_all,2)+1;
for i = 1:n
    r = windows(:,i);
    H_all(i,c) = dfaedit(r,1,1,1);
end
More Answers (0)
See Also
Categories
				Find more on Startup and Shutdown 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!
