how to write code to add some scalar value to each 4by4 cell of a dataset?
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentario
Respuestas (2)
  Jan
      
      
 el 13 de Mayo de 2018
        
      Editada: Jan
      
      
 el 13 de Mayo de 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 comentarios
  Ameer Hamza
      
      
 el 13 de Mayo de 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 comentarios
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


