How to add values from vertcat to a script
    4 views (last 30 days)
  
       Show older comments
    
I have script which calls a function and the return values of the function are stored in this way:
M = vertcat(C{:});
C is 1*99 cell and each cell has 4 values.Now I want to store individual value of 1st column to an array 2nd column to another array and so on.So is it possible to do so?
11 Comments
  Stephen23
      
      
 on 29 Apr 2019
				
      Edited: Stephen23
      
      
 on 29 Apr 2019
  
			Move the preallocation before the loop (just like the preallocation documentation shows):
D = 'C:\Users\Tipu_Standard\Desktop\My_project_cropped_images1';
S = dir(fullfile(D,'Original*.jpg')); % pattern to match filenames.
N = numel(S);
Zvec = zeros(1,N);
Dvec = zeros(1,N);
Avec = zeros(1,N);
for k = 1:N
    F = fullfile(D,S(k).name);
    I = imread(F);
    [Zvec(k),Dvec(k),Avec(k)] = fun1(I);
end
You will also need to adjust the sizes of the output arrays AND the indexing to suit the sizes of the output arguments: if they are non-scalar then you will continue to get errors.
I do not have your data, you will have to check this yourself. After that, adjust the sizes of the output arrays. If the sizes change on between iterations, use cell arrays for the appropriate array/s (in fact if you just want to get your code working, use cell arrays for all three outputs).
Answers (1)
  madhan ravi
      
      
 on 26 Apr 2019
        Wanted = num2cell(M,1)
[a,b,c,d]=deal(Wanted{:})
3 Comments
  madhan ravi
      
      
 on 26 Apr 2019
				That seems like a different question , I answered to the question you originally asked. It’s better you post it as a separate question.
See Also
Categories
				Find more on Creating and Concatenating Matrices 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!

