how to write code to add some scalar value to each 4by4 cell of a dataset?

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Jan
Jan il 13 Mag 2018
Modificato: Jan il 13 Mag 2018
It is not clear to me, what the inputs are. Posting a small example would be useful. Perhaps:
C = cell(4, 4);
for iC = 1:4
C{iC} = rand(64, 64);
end
If this matches your inputs, what exactly is "the first 4by4 cell" and what is "the other"?

Accedi per commentare.

Risposte (2)

Jan
Jan il 13 Mag 2018
Modificato: Jan il 13 Mag 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.

Ameer Hamza
Ameer Hamza il 13 Mag 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);

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by