필터 지우기
필터 지우기

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

조회 수: 3 (최근 30일)
bidlee devi
bidlee devi 2018년 5월 4일
편집: Jan 2018년 5월 13일
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
Jan
Jan 2018년 5월 13일
편집: Jan 2018년 5월 13일
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"?

댓글을 달려면 로그인하십시오.

답변 (2개)

Jan
Jan 2018년 5월 13일
편집: Jan 2018년 5월 13일
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 2018년 5월 13일
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);

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by