MATLAB Answers

Adding values to cells as the indices increase

45 views (last 30 days)
Holmbrero
Holmbrero on 22 Dec 2020
Commented: Holmbrero on 4 Jan 2021
Hi!
I have a n x m cell array and i want to add a multiple of a constant as n and m increases.
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3) ---- add constant to row nr 2.
(3,1) (3,2) (3,3) ---- add constant x2 to row nr 3.
I would also like to add a constant to columns as they increase.
Any suggestions?

  3 Comments

KALYAN ACHARJYA
KALYAN ACHARJYA on 22 Dec 2020
Can you elaborate the question again (please be clear and make it simple)?
Holmbrero
Holmbrero on 22 Dec 2020
I'll try to elaborate.
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)
I want to add a constant to row nr 2 ((2,1) (2,2) (2,3) ) and a multiple of the same constant to row nr 3 ((3,1) (3,2) (3,3) )
I also want to add another constant to column nr 1 ((1,2) (2,2) (2,3)) and a multiple of the same constant to columnt 3 ((1,3) (2,3) (3,3)).
I could just add them manually but i need the solution to work on a arbitrary nxm cell array.
Did that make my question easier to interpret?
Regards
Aaron Fredrick
Aaron Fredrick on 23 Dec 2020
Yes I understand your question but, just to blear could you tell as the matrix increases each time,
a constant is added to 2nd row and a multiple of that to the 3rd row, and another constant to 1st column and a multiple of that to the 3rd column
OR
a constant is added to 2nd row and a multiple of that to the last row, and another constant to 1st column and a multiple of that to the last column
And, is the the multiplication of the constant is same for each time?

Sign in to comment.

Accepted Answer

Gaurav Garg
Gaurav Garg on 28 Dec 2020
Hi Holmbrero,
I understand that you wish to add multiples of constants to each row. I am providing with a pseudo-code to help you do that -
for i=1:size(c,1)
for j=1:size(c,2)
c{i,j} = c{i,j} + constant * i
end
end
Assuming that 'c' is your cell array, the above code would add each cell element with a constant, depending on the row number.
You can similarly replicate the code to add each element with constant, depending on column number, like this -
for i=1:size(c,1)
for j=1:size(c,2)
c{i,j} = c{i,j} + constant * j
end
end

  1 Comment

Holmbrero
Holmbrero on 4 Jan 2021
Hi!
Sorry for my late reply.
I solved it by creating two new matrices with the added constants and then simply added these to the cell array.
The problem was somehow sort of hard to describe but i think your solution is also appliciable.
Thank you for your help!

Sign in to comment.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!