how to write code to add some scalar value to each 4by4 cell of a dataset?
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
hello everyone. need help.I want to add some scalar value to each 4by4 cell of size 64by64. for example : add 10 to first 4by4 cell . then add 20 to the other 4by4 cell and so forth. How do i write the code in matlab. I am new so need your help. Thanks!
1 commentaire
Réponses (2)
  Jan
      
      
 le 13 Mai 2018
        
      Modifié(e) : Jan
      
      
 le 13 Mai 2018
  
      If these are your inputs (see my comment):
C = cell(4, 4);
for iC = 1:4
  C{iC} = rand(64, 64);
end
toAdd = [10, 20, 30, 40];
then a loop is working:
for iC = 1:numel(C)
  C{iC} = C{iC} + toAdd(iC);
end
Or maybe you mean:
toAdd = 10 * (1:(64*64));  % Example data
for iC = 1:numel(C)
  C{iC} = C{iC} + toAdd;
end
This can be achieve by arrayfun or cellfun also, but I consider a loop to be more clear and easy.
0 commentaires
  Ameer Hamza
      
      
 le 13 Mai 2018
        You can do it using arrayfun():
cellArray = ... % 64x64 array of cells
% define a 64x64 'addMatrix', its elememnts will be added to corrosponing cell of 'cellArray'
addMatrix = [10 20 30, ..... 640;
           ....;
           ....;
           ....]; % define a 64x64 matrix
result = arrayfun(@(x, y) x{:} + y, cellArray, addMatrix, 'UniformOutput', 0);
0 commentaires
Voir également
Catégories
				En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!